1.问题描述:

怎么判断EntryAbility是通过push拉起的?

解决方案:

{"_push_notifyid":12345,"debugApp":false,"isCallBySCB":false,"moduleName":"entry","ohos.aafwk.param.callerAbilityName":"PushServiceInnerAbility","ohos.aafwk.param.callerBundleName":"com.huawei.hms.pushservice","ohos.aafwk.param.callerPid":18049,"ohos.aafwk.param.callerToken":537833925,"ohos.aafwk.param.callerUid":20004,"ohos.dlp.params.sandbox":false,"send_to_erms_targetAppDistType":"none","send_to_erms_targetAppProvisionType":"debug","send_to_erms_targetBundleType":0}

里面的callerBundleName是com.huawei.hms.pushservice,只有推送消息才有。
 
Notification发送的结果是下面这样:
{"component.startup.newRules":true,"isCallBySCB":false,"moduleName":"entry","ohos.aafwk.param.callerAbilityName":"","ohos.aafwk.param.callerBundleName":"com.ohos.sceneboard","ohos.aafwk.param.callerPid":2613,"ohos.aafwk.param.callerToken":537515597,"ohos.aafwk.param.callerUid":20020021,"ohos.ability.launch.reason":1,"send_to_erms_targetAppDistType":"none","send_to_erms_targetAppProvisionType":"debug","send_to_erms_targetBundleType":0,"specifyTokenId":536931207}

请使用want里面的callerBundleName==com.huawei.hms.pushservice来判断是否是push下发的消息。

2.问题描述:

现在的鸿蒙推送根据文档来看没有合适的设置data的地方,那么这种推送数据应该塞到哪里?

解决方案:

ClickAction支持传data数据。
参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...

3.问题描述:

通过华为推送过来的普通消息会在桌面应用图片上显示未读的数字,正常应该是点了顶部通知栏的消息之后,通知栏的这条通知消失,同时图标上的未读数字也要减1,但是目前没有方式可以获取到这个未读消息的数量,也就无法通过setBadgeNumber()去重新设置图标上的未读数字,这个该怎么处理?

解决方案:

使用相关接口 notificationManager.getActiveNotificationCount
https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...

4.问题描述:

鸿蒙push推送成功但是端上没展示,看系统日志应该到端上了,服务端也显示推送成功了。

解决方案:

被频控了,设置pushOptions的testMessage的参数为true,可发1000条信息,IM类不会被频控,具体可参考申请流程;链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...,通过之后可以使用。


HarmonyOS_SDK
596 声望11.7k 粉丝

HarmonyOS SDK通过将HarmonyOS系统级能力对外开放,支撑开发者高效打造更纯净、更智能、更精致、更易用的鸿蒙原生应用,和开发者共同成长。