一、推送成功收不到消息,推送返回:{"message":"success","requestID":"1523868*****2842718","resultcode":0} 排查步驟: 1、網路不穩定,切換穩定網路進行測試; 2、檢查手機是否為EMUI8.0.0系統,如果是早期的EMUI8.0,則 ...
一、推送成功收不到消息,推送返回:{"message":"success","requestID":"1523868*****2842718","resultcode":0}
排查步驟:
1、網路不穩定,切換穩定網路進行測試;
2、檢查手機是否為EMUI8.0.0系統,如果是早期的EMUI8.0,則要升級嘗試(在手機會員服務——服務——升級嘗鮮),或者用targetversion 26以下的進行編譯來規避這個問題。EMUI版本太低、小於4.1也是不支持的;
3、檢查終端token是否正確,在聯盟後臺進行推送,如果聯盟後臺推送失敗則是token已失效,或者手機配置有問題;進行token檢查和手機許可權設置,如果推送成功,那麼之前失敗則是調用介面時參數配置錯誤導致;
4、如果是收取通知消息失敗,檢查通知的playload中的msg、appPkgName等配置是否正確;
5、檢查華為移動服務的緩存問題,嘗試清除數據及緩存,並停止華為移動服務;
6、檢查CP是否使用老版本Push,老版本SDK會出現消息延時較明顯以及收不到推送的情況,需儘快切換到新版本;
7、搜集日誌(詳情見日誌抓取辦法),參考Push日誌解讀進行排查。
二、Gettoken返回0,無法進入onToken函數,無法收到廣播。
1、自定義的Receiver是否繼承華為PushReceiver;
2、AndroidMainfest配置是否完善,請對照現網配置進行檢查;
3、保存日誌,併發過來;
4、清理華為移動服務和應用的緩存、數據,重啟手機。再進入應用試一下;
5、如果日誌中出現 get token:end 0 和com.huawei.android.pushagent.PushServiceE/PushLog2551: [ReceiverDispatcher-230]responseRegisterTokenFAILED:1(android/PushCommandProcessor.java:557) 表示此處華為移動服務狀態是正常的,但是請求伺服器出現異常。檢查聯盟推送狀態是否為“已開通”,狀態為開通中則是錯誤的。
如果問題還未得到解決可以重覆步驟4,準備日誌輸出,運行測試應用,列印日誌。
三、如何在華為開放平臺查看消息是屬於運營消息還是通知系統消息?我們推送的時候帶了importance欄位,但是不能確定該欄位是否生效。
華為的通知消息通過提醒方式來顯示該條消息的類型。importance欄位只有在申請自分類權益後才能生效。
申請自分類權益參考:自動權益申請
四、離線角標不顯示。
1、首先需確認是通過哪種方式使用角標。
第一種:華為提供的消息體加欄位方式,這種方式不管應用線上或者離線,角標都會正常展示。
參考資料:桌面角標
第二種:您在客戶端代碼設置角標,這種情況,應用離線的情況可能是沒有對收到的離線消息進行處理所以角標沒有加上。
參考資料:華為桌面角標開髮指導書
2、在確認使用的角標方式後進行排查。
如果使用了第一種,確認離線消息的消息體是否有add_num和set_num欄位;如果是第二種,需確認收到離線消息之後是否調用代碼加上角標。
五、關於回執問題處理。
1、應用設備不線上:損毀,斷網,關機,不在伺服器等(大多情況);
2、用戶關閉推送許可權;
3、回執只會發送一次,在網路異常或者伺服器異常等情況時會導致請求失敗。
六、CP關於https://api.push.hicloud.com功能變數名稱的使用問題。
SDK 2.0 URL:https://api.push.hicloud.com/pushsend.do ?ha_source=hms1
SDK 3.0+ URL:https://push-api.cloud.huawei.com/v1/[appId]/messages:send?ha_source=hms1
SDK 2.0 URL是2.0版本使用的介面,可以替換為最新版,替換的同時更新SDK版本到6.7.0,參考最新的文檔做好遷移工作,遷移完成之後可以測試一下推送功能是否正常使用,有異常及時處理。
可參考SDK版本更新說明:版本更新說明。
瞭解更多詳情>>
訪問華為開發者聯盟官網
獲取開髮指導文檔
華為移動服務開源倉庫地址:GitHub、Gitee
關註我們,第一時間瞭解 HMS Core 最新技術資訊~