OPPO 推送

本文主要介绍 OPPO 推送的接入流程,主要包括以下步骤:

  1. 注册 OPPO 推送
  2. 接入 OPPO 推送
  3. 测试 OPPO 推送

注册 OPPO 推送

参考 OPPO 推送平台使用指南OPPO 开放平台 注册账号并申请接入推送服务。

接入 OPPO 推送

  1. 安装 推送 - OPPO 组件,请参考 添加 SDK
    推送 - OPPO 组件仅包含适配代码,不包含 OPPO Push SDK 。

  2. 前往 OPPO SDK 文档 下载 SDK 并集成到主工程中。
    当前适配的版本为 2.1.0,如需使用更高版本,可自行修改,通常来说厂商 SDK 都会向下兼容,如不兼容可提交工单反馈适配新版的需求。

  3. 配置 AndroidManifest.xml (组件化方式在 Portal 工程中添加),并替换其中的 com.oppo.push.app_keycom.oppo.push.app_secret 的值。

    1. <uses-permission android:name="com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE" />
    2. <uses-permission android:name="com.heytap.mcs.permission.RECIEVE_MCS_MESSAGE"/>
    3. <application>
    4. <service
    5. android:name="com.heytap.msp.push.service.CompatibleDataMessageCallbackService"
    6. android:permission="com.coloros.mcs.permission.SEND_MCS_MESSAGE"
    7. android:process=":push">
    8. <intent-filter>
    9. <action android:name="com.coloros.mcs.action.RECEIVE_MCS_MESSAGE"/>
    10. </intent-filter>
    11. </service>
    12. <service
    13. android:name="com.heytap.msp.push.service.DataMessageCallbackService"
    14. android:permission="com.heytap.mcs.permission.SEND_PUSH_MESSAGE"
    15. android:process=":push">
    16. <intent-filter>
    17. <action android:name="com.heytap.mcs.action.RECEIVE_MCS_MESSAGE"/>
    18. <action android:name="com.heytap.msp.push.RECEIVE_MCS_MESSAGE"/>
    19. </intent-filter>
    20. </service>
    21. <meta-data
    22. android:name="com.oppo.push.app_key"
    23. android:value="OPPO开放平台获取"
    24. />
    25. <meta-data
    26. android:name="com.oppo.push.app_secret"
    27. android:value="OPPO开放平台获取"
    28. />
    29. </application>
  4. 如需使用混淆,则要添加相关混淆配置:

测试 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,检查是否存在以下日志:

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

      若无,说明添加 推送 - OPPO 组件可能存在问题,请确认是否正确添加。

    2. 选择 push 进程,过滤 mOPPO,检查是否获取到了 OPPO 推送的厂商 token,如出现以下日志(“OPPO onRegister error”或“responseCode”不为 0):
      检查 oppo token
      说明 OPPO 推送注册失败,错误码参见 OPPO 推送错误码,下拉至错误码定义说明章节。

    3. 选择主进程,过滤 report channel token, 检查上报 OPPO 厂商 token 是否成功,如出现以下日志:

      1. report channel token error: xxxx

      说明上报厂商 token 失败,请检查 mPaaS 配置文件base64Code 是否有值,以及获取配置文件时上传的 apk 签名和当前应用是否一致。

    4. 选择 push 进程,过滤 mcssdk,查看 OPPO 推送内部日志。

  4. 如按以上步骤排查后仍无法解决问题,请 提交工单 或联系 mPaaS 支持人员。

其他问题

OPPO 推送支持哪些机型和系统版本

目前支持 ColorOS 3.1 及以上系统的 OPPO 机型,一加 5/5T 及以上机型以及 realme 所有 机型。

ColorOS 是由 OPPO 推出的基于 Android 系统深度定制并优化的手机操作系统。