首页
社区
课程
招聘
[原创]【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit
发表于: 3天前 645

[原创]【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit

3天前
645

1.问题描述:

如何批量推送push消息?

解决方案:

自行维护一个用户账号与PushToken的关系表,在用户登录的时候绑定获取的PushToken,用户退出的时候解除PushToken绑定。

服务端根据用户关系表,确定接收用户的PushToken进行批量推送。此时post请求体中只需包含用户PushToken,即可实现精准推送指定用户。

2.问题描述:

播放长语音通知扩展消息,后发现应用通知角标未发生变化。

解决方案:

请检查原始消息体是否包含角标信息,原因如下:RemoteNotificationExtensionAbility子进程存活的时间是10秒,需要在10秒内返回消息内容,否则Push Kit将默认展示原有的消息内容。语音时间过长导致播放超过10秒时,如果原始的消息体中不含角标消息,则返回的通知也不含角标信息。

3.问题描述:

同时收到多条扩展消息通知后,语音播放消息内容超过1分20秒终止怎么处理?

解决方案:

检查是否是确认音频播放完成后再在onReceiveMessage()中返回的通知消息,保证播放的时序。

4.问题描述:

token生成只跟设备相关还是与设备和用户账号都相关?

解决方案:

Push Token基于设备AAID生成,因此在应用卸载、恢复出厂设置、清除应用数据后会发生变化。
PushToken:确认应用已经成功获取并上传了PushToken。
PushToken标识了每台设备上每个应用,开发者调用getToken()接口向PushKit服务端请求PushToken,获取到之后使用PushToken来推送消息。
PushToken一般情况不会变化,仅下列场景Push Token会发生变化:

  • 卸载应用后重新安装。
  • 设备恢复出厂设置。
  • 应用显式调用deleteToken()接口后重新调用getToken()接口。
  • 应用显式调用deleteAAID()接口后重新调用getToken()接口。
  • 将设备(仅涉及Wearable设备)拿到海外其他国家或者地区后,系统会更新设备的Token。更新后的Token通过pushService.on('tokenUpdate')接口的回调返回。

因此,建议在应用启动时调用getToken()接口,若设备的PushToken发生变化,及时上报到应用服务器更新PushToken。
示例代码参考:Push Token更新回调


传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回