全部產品
Search
文件中心

Mobile Platform as a Service:小米推送

更新時間:Jul 13, 2024

本文主要介紹小米推送的接入流程,主要包括以下三個步驟。

  1. 註冊小米推送

  2. 接入小米推送

  3. 測試小米推送

註冊小米推送

參考以下小米官方文檔,完成小米推送註冊:

接入小米推送

  1. 添加 推送 - 小米 組件。添加方式與添加推送 SDK 相同,參見 添加推送 SDK

    當前內建的小米推送 SDK 版本為 4.0.2,歷史版本參見 發布說明

  2. 配置 AndroidManifest.xml(組件化方式在 Portal 工程中添加),並替換其中的 xiaomi_appidxiaomi_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>

測試小米推送

  1. 接入小米推送後,您可以在小米手機上啟動應用並確保調用了初始化方法(參見 訊息推送初始化),推送 SDK 會自動擷取小米推送的廠商 token 並上報。

  2. 可以在殺掉應用進程的情況下推送測試訊息:

    • 如果仍然能收到訊息,說明應用成功接入小米推送。

    • 如果不能收到訊息,請按照下文進行問題排查。

排查問題

  1. 檢查 AndroidManifest.xml 配置是否添加,以及其中 xiaomi_appidxiaomi_appkey 的值是否和小米開放平台一致。

  2. 檢查 mPaaS 控制台是否開啟了小米通道(參見 配置小米推送通道),以及相關配置是否和小米開放平台一致。

  3. 查看 logcat 日誌進行排查:

    1. 選擇 push 進程,過濾 mPush.PushProxyFactory,檢查是否存在以下日誌:

      D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.mi.Creator

      若無,說明添加 推送 - 小米 組件可能存在問題,請確認小米推送組件是否正確添加。

    2. 選擇 push 進程,過濾 mMi,檢查是否擷取到了小米推送的廠商 token。

      如出現以下日誌(register_fail),說明小米推送註冊失敗。錯誤原因(reason)參見 小米推送錯誤碼。如果錯誤原因顯示 UNKNOWN,通常是 xiaomi_appidxiaomi_appkey 錯誤。結果碼(resultCode)參見 小米推送服務端錯誤碼

    3. 選擇主進程,過濾 report channel token, 檢查上報小米廠商 token 是否成功,如出現以下日誌:

      report channel token error: xxxx

      說明上報廠商 token 失敗,請檢查 mPaaS 設定檔 base64Code 是否有值,以及擷取設定檔時上傳的 apk 簽名和當前應用是否一致。