android - 据称随机获取 "No permission to send message to these tmIDs"HMS 推送服务

标签 android node.js react-native push-notification huawei-mobile-services

🟢 修复服务器端
备注 : 这是一个服务器端的错误,现在似乎已经解决了。我们的移动应用程序代码保持不变。

我必须使用 HMS 推送服务才能使我的 RN 应用程序适用于华为 EMUI 设备:HMS Core .
我按照所有必需的步骤在服务器和移动应用程序上安装和配置 HMS。
但是......我注意到一个奇怪的行为。我使用网页上的按钮将推送通知从服务器发送到移动应用程序。我确保在我的华为 ID 上启用了 Push Kit,并且 Push Device Token 是正确的。
有时会发送通知,有时不会。我一整天都在寻找原因,但现在看来完全是偶然的,至少在找不到原因之前是这样。
请注意,在 mc.send() 下方的代码中每次进入.then()并且从未提出.catch() .
有时我得到:OK {"code":"80000000","msg":"Success","requestId":"161832746491754926000107"}并且通知实际上是从移动应用程序收到的(一切都很好!)。
有时(并且经常):OK {"code":"80300002","msg":"No permission to send message to these tmIDs","requestId":"161832753512250325000107"}最后,我不断得到:OK {"code":"80000000","msg":"Success","requestId":"161832795126307445060711"}但是......应用程序实际上并没有收到通知。
我尝试重新启动服务器,将应用程序保持在三种不同的状态(关闭、前台、后台),但没有任何帮助我找到问题所在。
这是我用来发送通知的代码的最后一个版本(我更改了很多次):

function sendPushNotificationHMS(pushDeviceToken, data, attempt){
  hcm.init({
      appId: configHMS.AppId,
      appSecret: configHMS.AppSecret,
      authUrl: configHMS.AuthUrl,
      pushUrl: configHMS.PushUrl
  });
  let mc = hcm.messaging().messaging;

  let androidConfig = {
      collapse_key: -1,
      urgency:"HIGH",
      ttl: "10000s",
      bi_tag: "the_sample_bi_tag_for_receipt_service",
  }

  let message = {
      data: JSON.stringify(data),
      android: androidConfig,
      token: new Array(pushDeviceToken)
  };

  mc.send(message, true).then(data => {
      console.log('OK ', data);
  }).catch(err => {
      console.log('ERR ', err);
  });
}

最佳答案

请参阅此文档:
https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/commonerror-0000001059816656
并查看 80300002 下的解决方案之一是否正确。由于您已经检查过您的 ID 是否正确,请查看 2、4、6 和 7 下的提示。

关于android - 据称随机获取 "No permission to send message to these tmIDs"HMS 推送服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67078213/

相关文章:

java - 三星 Galaxy s3 上的旋转器问题

node.js - 模式是否必须完全匹配才能返回任何内容? ( Mongoose )

javascript - 解压zip文件并排除NodeJS中的根目录

node.js - 蒙戈JS : MongoError: failed to connect to server with correct credentials

react-native - 有没有办法保护数据不被 PWA 抓取?

android - Dagger 2 - 来自不同组件的模块

android - 从服务器 android 播放 Mp4 视频

react-native - react native : Double back press to Exit App

react-native - React Native - MaterialCommunityIcons 图标名称的 typescript 定义

android - 嵌套 RecyclerView OnclickListener