HarmonyOS 鸿蒙Next 使用V3接口发送通知时数据封装与接收问题 或 使用V3接口发送通知时ExtensionPayload数据封装及HarmonyOS 鸿蒙Next app端pushService.receiveMessage无法接收消息的逻辑问题

发布于 1周前 作者 songsunli 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 使用V3接口发送通知时数据封装与接收问题

使用V3接口发送通知时ExtensionPayload数据封装及HarmonyOS 鸿蒙Next app端pushService.receiveMessage无法接收消息的逻辑问题 使用V3接口发送通知,其中需要发送的数据封装在ExtensionPayload,在app端使用pushService.receiveMessage不能接收到消息,在消息发送接受上逻辑上有什么问题么

2 回复

您可以按照此论坛排查一下:

https://developer.huawei.com/consumer/cn/forum/topic/0204146853621348011?fid=0109140870620153026

1、您发送的什么消息类型通知,push-type设置的什么。

[https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/push-scenariozed-api-request-struct-V5]

2、receiveMessage(pushType: ‘IM’) 是用于接收通知扩展消息场景的,需要您的应用进程在前台时会走receiveMessage()方法获取通知扩展消息数据,且不会在通知栏中弹出通知提醒。

[https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-send-extend-noti-V5]

3、根据您的描述有在通知栏显示通知,并且经查询“迪惟智能”应用并未开通扩展通知权限,由此判断您发送的可能是Alert消息(通知消息)。通知消息数据并不会走receiveMessage()方法,需要点击消息跳转后在目标Ability的onCreate()回调中获取。

[https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-send-alert-V5#section697519219136]

4、华为Android推送在HmsMessageService中也是用于接收透传消息数据的,通知栏消息并不会走相关回调。若您需要实现类似透传消息的效果,可以看下HarmonyOS NEXT推送的后台消息、扩展消息是否满足需求。

通知栏消息显示不依赖应用是否在前台。

首先如果您消息请求中category字段为MARKETING,表示通知消息为资讯营销类。消息提醒方式为静默通知,仅在通知中心展示。

若应用推送通知消息时未携带已开通权益的category字段值(例如,未开通“IM”却在推送通知消息时在category中传入“IM”),应用的通知消息将自动归类为资讯营销消息。

[https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-apply-right-V5#section16708911111611]

通知栏消息传递的data数据需要点击消息跳转应用后,在onCreate()方法或onNewWant()方法中获取data数据:

[https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-send-alert-V5#section1792616175914]

更多关于HarmonyOS 鸿蒙Next 使用V3接口发送通知时数据封装与接收问题 或 使用V3接口发送通知时ExtensionPayload数据封装及HarmonyOS 鸿蒙Next app端pushService.receiveMessage无法接收消息的逻辑问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next 使用V3接口发送通知时数据封装与接收问题

在HarmonyOS鸿蒙Next系统中,使用V3接口发送通知时,数据封装需遵循鸿蒙系统的数据格式规范。对于ExtensionPayload数据的封装,应确保数据类型、字段名及顺序与接收端解析逻辑一致。

若pushService.receiveMessage无法接收消息,首先检查发送端是否正确设置了消息类型、目标应用ID及必要的权限。接收端需确保已正确注册消息接收服务,并在服务中实现了对应的消息处理逻辑。

此外,还需确认网络状态是否良好,以及鸿蒙系统版本是否支持V3接口的相关功能。若问题依旧存在,可检查发送与接收端的日志,查找可能的错误或异常信息。

使用V3接口发送通知时ExtensionPayload数据封装及HarmonyOS 鸿蒙Next app端pushService.receiveMessage无法接收消息的逻辑问题

针对此问题,确保ExtensionPayload数据封装正确,接收端服务注册无误,并已实现正确的消息处理逻辑。同时,检查系统权限、网络状态及鸿蒙系统版本兼容性。

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

回到顶部