本文介绍 OPPO 推送的接入流程,主要包括以下三个步骤。
注册 OPPO 推送
参考 OPPO 推送平台使用指南 在 OPPO 开放平台 注册账号并申请接入推送服务。
接入 OPPO 推送
安装 推送 - OPPO 组件,方式与添加推送 SDK 相同,参见 添加 SDK。 推送 - OPPO 组件仅包含适配代码,不包含 OPPO Push SDK 。
前往 OPPO SDK 文档 下载 SDK 并集成到主工程中。 当前适配的版本为
3.4.0
,如需使用更高版本,可根据需求修改,通常来说厂商 SDK 都会向下兼容,如不兼容可加入钉钉群 41708565 反馈适配新版的需求。配置
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>
如需使用混淆,则要添加相关混淆配置:
所有接入方式均需要添加 OPPO 推送混淆规则。
如采用的是 AAR 接入方式,还需要 添加 mPaaS 混淆规则。
如果使用的是 OPPO 推送版本
3.4.0
,还需添加如下依赖:implementation 'commons-codec:commons-codec:1.15'
测试 OPPO 推送
接入 OPPO 推送后,您可以在 OPPO 手机上启动您的应用并确保调用了初始化方法(参见 消息推送初始化),推送 SDK 会自动获取 OPPO 推送的厂商 token 并上报。
可以在杀掉应用进程的情况下推送测试消息:
如果仍然能收到消息,说明应用成功接入 OPPO 推送。
如果不能收到消息,请按照下文进行问题排查。
排查问题
检查
AndroidManifest.xml
配置是否添加,以及其中com.oppo.push.app_key
、com.oppo.push.app_secret
的值是否和 OPPO 开放平台一致。检查 mPaaS 控制台是否开启了 OPPO 通道(参见 配置 OPPO 推送通道),以及相关配置是否和 OPPO 开放平台一致。
查看 logcat 日志进行排查:
选择 push 进程,过滤
mPush.PushProxyFactory
,检查是否存在以下日志:D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.oppo.Creator
若无,说明添加 推送 - OPPO 组件可能存在问题,请确认是否正确添加。
选择 push 进程,过滤
mOPPO
,检查是否获取到了 OPPO 推送的厂商 token,如出现以下日志(“OPPO onRegister error”或“responseCode”不为 0):说明 OPPO 推送注册失败,错误码参见 OPPO 推送错误码,下拉至错误码定义说明章节。选择主进程,过滤
report channel token
, 检查上报 OPPO 厂商 token 是否成功,如出现以下日志:report channel token error: xxxx
说明上报厂商 token 失败,请检查 mPaaS 配置文件 的
base64Code
是否有值,以及获取配置文件时上传的 apk 签名和当前应用是否一致。选择 push 进程,过滤
mcssdk
,查看 OPPO 推送内部日志。
其他问题
OPPO 推送支持哪些机型和系统版本
目前支持 ColorOS 3.1 及以上系统的 OPPO 机型,一加 5/5T 及以上机型以及 realme 所有 机型。
ColorOS 是由 OPPO 推出的基于 Android 系统深度定制并优化的手机操作系统。