文档

OPPO 推送

更新时间:

本文介绍 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 系统深度定制并优化的手机操作系统。

  • 本页导读 (0)