全部产品
Search
文档中心

移动开发平台mPaaS:OPPO 推送

更新时间:Apr 15, 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 都会向下兼容,如不兼容可加入钉钉群 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 系统深度定制并优化的手机操作系统。