HarmonyOS 鸿蒙Next中无法进行消息推送
HarmonyOS 鸿蒙Next中无法进行消息推送
使用push kit,根据文档操作生成的token,服务端发送消息时报错
{
"code": "80300007",
"msg": "{\"failure\":1,\"illegalTokens\":{\"appinfoError\":[\"MAP-LgSDtKIFJsgAsxxxxxxxxkxxxx-5fEhxmMYtNGqzZWkw\"]}}",
"requestId": "174825264570730770056401"
}
根据文档:appinfoError,请在AppGallery Connect网站上检查应用是否创建,如果应用已成功创建,请稍后重试。
但是应用是已经创建了,都在开发工具上配置证书,获取到pushtoken了
实在想不到是哪里的问题了
自助分析说token无效,但是app.json里面的包名是对的
{
"app": {
"bundleName": "vip.mengluo.noticePush",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:layered_image",
"label": "$string:app_name"
}
}
获取的代码是这样的,怎么获取出来的token就不对
import { pushService } from '@kit.PushKit';
@Entry
@Component
struct Index {
build() {
Column() {
Button("获取token").width('100%').height(50).onClick(() => this.getToken())
}
.height('100%')
.width('100%')
}
private async getToken(): Promise<void> {
try {
const pushToken = await pushService.getToken();
console.log(pushToken)
// TODO: please send the pushToken to your application server
} catch (e) {
}
}
}
更多关于HarmonyOS 鸿蒙Next中无法进行消息推送的实战教程也可以访问 https://www.itying.com/category-93-b0.html
优先通过 AGC 推送调试工具 验证 Token 有效性:
- 若调试成功 → 问题在服务端(检查 App ID、签名、Token 传输逻辑)。
- 若调试失败 → 客户端问题(包名、证书指纹、设备状态)。
更多关于HarmonyOS 鸿蒙Next中无法进行消息推送的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
根据这篇文章才知道要设置指纹和client_id,
https://developer.huawei.com/consumer/cn/forum/topic/0202156010964362093
在鸿蒙Next中,消息推送需要使用HarmonyOS提供的Push Kit。目前可能出现问题的原因包括:
- 未正确配置推送服务证书;
- 设备未开启通知权限;
- 未调用Push Kit的初始化接口;
- 网络连接异常。
请检查应用manifest中是否声明了ohos.permission.RECEIVER_PUSH_NOTIFICATION权限,以及是否完成Push Kit的初始化和Token获取流程。推送功能依赖华为移动服务(HMS)核心库版本兼容性,需确保使用最新版本。
从错误信息来看,这是典型的Push Kit服务配置问题。错误码80300007表明服务端无法验证应用的合法性,常见原因有:
-
AGC控制台的应用包名(
bundleName
)与app.json
中的配置不一致。请仔细核对两者是否完全匹配,包括大小写。 -
应用签名证书未正确配置。在AGC控制台的"项目设置"中,需要上传与开发环境匹配的签名证书指纹(SHA256)。
-
推送服务未正确开通。在AGC控制台的"增长服务"中,需要确保已开通Push Kit服务并启用。
-
设备网络环境问题。某些网络环境下可能无法正常获取有效token,建议切换网络环境测试。
建议重点检查前两项配置,特别是包名和签名证书的匹配性。获取token的代码本身没有问题,问题出在服务端验证环节。