【FAQ】HarmonyOS SDK 閉源開放能力 —Push Kit(5)

HarmonyOS_SDK發表於2024-10-31

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...,透過之後可以使用。

相關文章