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

4 回复

优先通过 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表明服务端无法验证应用的合法性,常见原因有:

  1. AGC控制台的应用包名(bundleName)与app.json中的配置不一致。请仔细核对两者是否完全匹配,包括大小写。

  2. 应用签名证书未正确配置。在AGC控制台的"项目设置"中,需要上传与开发环境匹配的签名证书指纹(SHA256)。

  3. 推送服务未正确开通。在AGC控制台的"增长服务"中,需要确保已开通Push Kit服务并启用。

  4. 设备网络环境问题。某些网络环境下可能无法正常获取有效token,建议切换网络环境测试。

建议重点检查前两项配置,特别是包名和签名证书的匹配性。获取token的代码本身没有问题,问题出在服务端验证环节。

回到顶部