全部產品
Search
文件中心

Mobile Platform as a Service:OPPO 推送

更新時間:Jul 13, 2024

本文介紹 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_keycom.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_keycom.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 系統深度定製並最佳化的手機作業系統。