本文主要介紹小米推送的接入流程,主要包括以下三個步驟。
註冊小米推送
參考以下小米官方文檔,完成小米推送註冊:
接入小米推送
添加 推送 - 小米 組件。添加方式與添加推送 SDK 相同,參見 添加推送 SDK。
當前內建的小米推送 SDK 版本為 4.0.2,歷史版本參見 發布說明。
配置
AndroidManifest.xml(組件化方式在 Portal 工程中添加),並替換其中的xiaomi_appid、xiaomi_appkey的值。<permission android:name="${applicationId}.permission.MIPUSH_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="${applicationId}.permission.MIPUSH_RECEIVE"/> <application> <!-- value 斜杠空格要保留 --> <meta-data android:name="xiaomi_appid" android:value="\ 2xxxxxxxxxxxxxxx" /> <!-- value 斜杠空格要保留 --> <meta-data android:name="xiaomi_appkey" android:value="\ 5xxxxxxxxxxxxxxx" /> </application>
測試小米推送
接入小米推送後,您可以在小米手機上啟動應用並確保調用了初始化方法(參見 訊息推送初始化),推送 SDK 會自動擷取小米推送的廠商 token 並上報。
可以在殺掉應用進程的情況下推送測試訊息:
如果仍然能收到訊息,說明應用成功接入小米推送。
如果不能收到訊息,請按照下文進行問題排查。
排查問題
檢查
AndroidManifest.xml配置是否添加,以及其中xiaomi_appid、xiaomi_appkey的值是否和小米開放平台一致。檢查 mPaaS 控制台是否開啟了小米通道(參見 配置小米推送通道),以及相關配置是否和小米開放平台一致。
查看 logcat 日誌進行排查:
選擇 push 進程,過濾
mPush.PushProxyFactory,檢查是否存在以下日誌:D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.mi.Creator若無,說明添加 推送 - 小米 組件可能存在問題,請確認小米推送組件是否正確添加。
選擇 push 進程,過濾
mMi,檢查是否擷取到了小米推送的廠商 token。如出現以下日誌(
register_fail),說明小米推送註冊失敗。錯誤原因(reason)參見 小米推送錯誤碼。如果錯誤原因顯示 UNKNOWN,通常是xiaomi_appid或xiaomi_appkey錯誤。結果碼(resultCode)參見 小米推送服務端錯誤碼。選擇主進程,過濾
report channel token, 檢查上報小米廠商 token 是否成功,如出現以下日誌:report channel token error: xxxx說明上報廠商 token 失敗,請檢查 mPaaS 設定檔 的
base64Code是否有值,以及擷取設定檔時上傳的 apk 簽名和當前應用是否一致。