本文主要介绍 vivo 推送的接入流程,主要包括以下三个步骤。
注册 vivo 推送
参考 vivo 推送平台使用指南,在 vivo 开放平台 上注册账号,并申请接入推送服务。
接入 vivo 推送
添加 推送 - vivo 组件,方式与添加推送 SDK 相同,参见 添加 SDK。推送 - vivo 组件仅包含适配代码,不包含 vivo Push SDK。
前往 vivo SDK 文档 下载 SDK 并集成到主工程中。 当前适配版本为 v2.3.4,如需使用更高版本,可根据需求修改,通常来说厂商 SDK 都会向下兼容,如不兼容可加入钉钉群 41708565 反馈适配新版的需求。
配置
AndroidManifest.xml
(组件化方式在 Portal 工程中添加),并替换其中的com.vivo.push.api_key
、com.vivo.push.app_id
的值。<application> <service android:name="com.vivo.push.sdk.service.CommandClientService" android:process=":push" android:exported="true" /> <activity android:name="com.vivo.push.sdk.LinkProxyClientActivity" android:exported="false" android:process=":push" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <meta-data android:name="com.vivo.push.api_key" android:value="VIVO开放平台提供" /> <meta-data android:name="com.vivo.push.app_id" android:value="VIVO开放平台提供" /> </application>
如需使用混淆,则要添加相关混淆配置:
所有接入方式均需要添加 vivo 推送混淆规则。
如采用的是 AAR 接入方式,还需要 添加 mPaaS 混淆规则。
测试 vivo 推送
接入 vivo 推送后,您可以在 vivo 手机上启动您的应用并确保调用了初始化方法(参见 消息推送初始化),推送 SDK 会自动获取 vivo 推送的厂商 token 并上报。
可以在杀掉应用进程的情况下推送测试消息:
如果仍然能收到消息,说明应用成功接入 vivo 推送。
如果不能收到消息,请按照下文排查。
排查问题
检查
AndroidManifest.xml
配置是否添加,以及其中com.vivo.push.api_key
、com.vivo.push.app_id
的值是否和 vivo 开放平台一致。检查 mPaaS 控制台是否开启了 vivo 通道(参见 配置 vivo 推送通道),以及相关配置是否和 vivo 开放平台一致。
查看 logcat 日志进行排查:
选择 push 进程,过滤
mPush.PushProxyFactory
,检查是否存在以下日志:D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.vivo.Creator
若无,说明添加 推送 - vivo 组件可能存在问题,请确认是否正确添加。
选择 push 进程,过滤
mVIVO
,检查是否获取到了 vivo 推送的厂商 token,如出现日志“fail to turn on vivo push”
:说明 vivo 推送注册失败,错误码(state)参见 vivo 推送错误码 。选择主进程,过滤
report channel token
, 检查上报 vivo 厂商 token 是否成功,如出现以下日志:report channel token error: xxxx
说明上报厂商 token 失败,请检查 mPaaS 配置文件 的
base64Code
是否有值,以及获取配置文件时上传的 apk 签名和当前应用是否一致。
常见问题
vivo 推送支持哪些机型和系统版本
目前,SDK 支持的机型和最低系统版本如下表所示。有关 vivo 推送的其它相关问题,请参见 vivo 推送常见问题汇总。