HarmonyOS 鸿蒙Next 消息推送后手机未收到消息提示怎么处理

发布于 1周前 作者 sinazl 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 消息推送后手机未收到消息提示怎么处理

【问题现象】

使用Push Kit(推送服务)提供的接口推送消息,但是客户端没有消息提示。

预期效果:推送消息后,客户端能及时收到消息提示,例如出现消息弹框。

实际效果:推送消息后,客户端未收到消息提示,或者没有及时收到消息,未出现消息弹框。

【背景知识】

Push Kit中,由于消息权益不同,不同的消息类型对应的提醒方式、推送数量限制等会有差异,如下:

消息类型

提醒方式与消息展示位置

推送数量限制

服务与通讯

锁屏、铃声、振动等

与资讯营销消息、其他场景化消息合计不超过应用每日可向每设备发送的最大消息数量3000条。

资讯营销

静默通知,仅在通知中心展示消息

根据应用类别限制每日推送数量,单个应用每日每设备推送数量为2条或5条。

  • Push Kit(推送服务):Push Kit(推送服务)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。
  • 申请推送场景化消息权益:Push Kit支持多种场景化消息类型,其中部分场景化消息类型需要开发者申请特殊权益才能正常发送。
  • 请求通知授权:应用需要获取用户授权才能发送通知。
  • 开发消息回执:消息回执是指Push Kit服务端将消息推送到用户终端之后,端侧会给Push服务端反馈送达结果。与此同时,Push服务端会将消息送达状态以回执消息形式发送给应用回执服务端,方便开发者获取消息下达端侧后的状态,定位问题等。
  • 发送消息通知:通知消息通过Push Kit通道直接下发,可在终端设备的通知中心、锁屏、横幅等展示,用户点击后拉起应用。

【定位思路】

对于消息推送异常这类问题,需要先确认实际场景,客户端是否真的未收到消息,还是收到消息后没弹出消息框。

  • 如果是营销消息,此类需要达到一定数量后才会推送,容易被忽略,可以在在消息中心查看是否收到。
  • 如果是非营销消息,消息推送参数配置错误会导致消息推送失败,因此需检查配置参数。

【解决方案】

根据消息推送异常实际场景,可按照下列步骤定位。

1. 用户实际收到了消息

1.1检查是否是静默通知

当收到消息时,由于静默通知仅在通知中心展示,并不会弹框提示,需要去通知中心查看。通知中心如下图,可以查看对应消息。

2. 用户未收到消息

2.1检查push token是否正确

打开AGC平台,选择我的项目,然后选择推送服务,在自主分析里面,输入requestId和token, 系统会自动分析消息推送失败的可能原因。

2.2检查是否属于营销通知

对于消息很久才收到(约10分钟),导致消息被忽略,误以为没收到的场景。对应的消息通常属于营销通知,只有当消息达到一定数量,才会分批一起推送,所以会有延时。如果不想延迟,则可以考虑申请通知消息自分类权益

2.3如涉及自分益权限,检查自分益权益是否已申请,并且打开自分益开关

涉及自分益权限 参考文档

2.4 是否受到消息频控

可以在消息发送请求体, 设置pushOptions.testMessage为true,发送测试消息。测试消息的限制为每天1000条。

2.5 检查配置文件

排除如上描述情况,确认消息确实没有收到,那么大概率是消息推送失败。此时需要检查module.json5中skills配置是否正确。src/main/module.json5文件skills标签中actions或uris的值不可同时配置,具体如下:

(1)设置action参数点击消息进入应用页面(若skills中添加了uris参数,则uris内容需为空

{
  "actions": [
    "com.test.action"
  ]
} // 新增一个skill对象用于推送消息点击跳转

(2) 设置uris参数点击消息进入应用页面(skills中必须同时设置actions参数,actions参数需为空

{
  "actions": [
    ""
  ],
  "uris": [
    {
      "scheme": "https",
      "host": "www.xxx.com",
      "port": "8080",
      "path": "push/test"
    }
  ]
}

详细参考官网指南

【总结】

Push Kit消息下发成功后,可能会因为消息频控、通知开关未打开等原因,导致端侧消息未展示。通常可以从消息通知是否打开、消息分类权益是否申请、配置文件中skills标签是否正确这几个方面进行排查。同时,建议开发消息回执,Push服务端会将消息送达状态以回执消息形式发送给应用回执服务端,方便获取消息下达端的状态,通过回执状态码定位问题。

1 回复

针对HarmonyOS 鸿蒙Next消息推送后手机未收到消息提示的问题,以下是一些专业的处理建议:

  1. 检查ROM版本:请确认设备ROM版本是否为4.1及以上,某些推送消息类型需要此版本及以上的设备才能正确接收。
  2. 确认通知开关:确保应用的通知开关已打开,且用户已授权应用发送通知。
  3. 检查Token有效性:请重新生成Token并尝试发送消息,确保使用的Token未过期或无效。
  4. 消息分类与频控:如发送服务与通讯类消息,请确保已申请并正确配置消息自分类权限,并遵守每天不超过3000条的限制,同时检查是否因消息频控导致消息未能成功送达。
  5. 应用适配:由于鸿蒙NEXT采用了完全独立自主开发的系统架构,部分应用可能还未完全适配,可耐心等待应用的适配更新。
  6. 设备与网络:确保设备已连接到稳定的网络,并检查系统设置中的软件更新选项,确保设备为最新版本。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部