添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
大力的红酒  ·  docker ...·  1 年前    · 
微醺的匕首  ·  C#版 - 剑指offer ...·  2 年前    · 

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

  1. 註冊 OPPO 推送

  2. 接入 OPPO 推送

  3. 測試 OPPO 推送

註冊 OPPO 推送

參考 OPPO 推送平台使用指南 OPPO 開放平台 註冊帳號並申請接入推送服務。

接入 OPPO 推送

  1. 安裝 推送 - OPPO 組件,方式與添加推送 SDK 相同,參見 添加 SDK 推送 - OPPO 組件僅包含適配代碼,不包含 OPPO Push SDK 。

  2. 前往 OPPO SDK 文檔 下載 SDK 並整合到主工程中。 當前適配的版本為 3.4.0 ,如需使用更高版本,可根據需求修改,通常來說廠商 SDK 都會向下相容,如不相容可加入DingTalk群 41708565 反饋適配新版的需求。

  3. 配置 AndroidManifest.xml (組件化方式在 Portal 工程中添加),並替換其中的 com.oppo.push.app_key com.oppo.push.app_secret 的值。

         <uses-permission android:name="com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE" />
         <uses-permission android:name="com.heytap.mcs.permission.RECIEVE_MCS_MESSAGE"/>
         <application>
             <service
                 android:name="com.heytap.msp.push.service.CompatibleDataMessageCallbackService"
                 android:exported="true"
                 android:permission="com.coloros.mcs.permission.SEND_MCS_MESSAGE"
                 android:process=":push">
                 <intent-filter>
                     <action android:name="com.coloros.mcs.action.RECEIVE_MCS_MESSAGE"/>
                 </intent-filter>
             </service> 
             <service
                 android:name="com.heytap.msp.push.service.DataMessageCallbackService"
                 android:exported="true"
                 android:permission="com.heytap.mcs.permission.SEND_PUSH_MESSAGE"
                 android:process=":push">
                 <intent-filter>
                     <action android:name="com.heytap.mcs.action.RECEIVE_MCS_MESSAGE"/>
                     <action android:name="com.heytap.msp.push.RECEIVE_MCS_MESSAGE"/>
                 </intent-filter>
             </service>
             <meta-data
                 android:name="com.oppo.push.app_key"
                 android:value="OPPO開放平台擷取"
             <meta-data
                 android:name="com.oppo.push.app_secret"
                 android:value="OPPO開放平台擷取"
         </application>
  4. 如需使用混淆,則要添加相關混淆配置:

  5. 如果使用的是 OPPO 推送版本 3.4.0 ,還需添加如下依賴:

    implementation 'commons-codec:commons-codec:1.15'

測試 OPPO 推送

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

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

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

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

排查問題

  1. 檢查 AndroidManifest.xml 配置是否添加,以及其中 com.oppo.push.app_key com.oppo.push.app_secret 的值是否和 OPPO 開放平台一致。

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

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

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

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

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

    2. 選擇 push 進程,過濾 mOPPO ,檢查是否擷取到了 OPPO 推送的廠商 token,如出現以下日誌(“OPPO onRegister error”或“responseCode”不為 0):說明 OPPO 推送註冊失敗,錯誤碼參見 OPPO 推送錯誤碼 ,下拉至錯誤碼定義說明章節。

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

      report channel token error: xxxx

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

    4. 選擇 push 進程,過濾 mcssdk ,查看 OPPO 推送內部日誌。

其他問題

OPPO 推送支援哪些機型和系統版本

目前支援 ColorOS 3.1 及以上系統的 OPPO 機型, 一加 5/5T 及以上機型以及 realme 所有 機型。

ColorOS 是由 OPPO 推出的基於 Android 系統深度定製並最佳化的手機作業系統。