本文主要介绍小米推送的接入流程,主要包括以下三个步骤。
注册小米推送
参考以下小米官方文档,完成小米推送注册:
接入小米推送
添加 推送 - 小米 组件。添加方式与添加推送 SDK 相同,参见 添加推送 SDK。
当前内置的小米推送 SDK 版本为 4.0.2,历史版本参见 发布说明。
配置
AndroidManifest.xml
(组件化方式在 Portal 工程中添加),并替换其中的xiaomi_appid
、xiaomi_appkey
的值。<permission android:name="${applicationId}.permission.MIPUSH_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="${applicationId}.permission.MIPUSH_RECEIVE"/> <application> <!-- value 斜杠空格要保留 --> <meta-data android:name="xiaomi_appid" android:value="\ 2xxxxxxxxxxxxxxx" /> <!-- value 斜杠空格要保留 --> <meta-data android:name="xiaomi_appkey" android:value="\ 5xxxxxxxxxxxxxxx" /> </application>
测试小米推送
接入小米推送后,您可以在小米手机上启动应用并确保调用了初始化方法(参见 消息推送初始化),推送 SDK 会自动获取小米推送的厂商 token 并上报。
可以在杀掉应用进程的情况下推送测试消息:
如果仍然能收到消息,说明应用成功接入小米推送。
如果不能收到消息,请按照下文进行问题排查。
排查问题
检查
AndroidManifest.xml
配置是否添加,以及其中xiaomi_appid
、xiaomi_appkey
的值是否和小米开放平台一致。检查 mPaaS 控制台是否开启了小米通道(参见 配置小米推送通道),以及相关配置是否和小米开放平台一致。
查看 logcat 日志进行排查:
选择 push 进程,过滤
mPush.PushProxyFactory
,检查是否存在以下日志:D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.mi.Creator
若无,说明添加 推送 - 小米 组件可能存在问题,请确认小米推送组件是否正确添加。
选择 push 进程,过滤
mMi
,检查是否获取到了小米推送的厂商 token。如出现以下日志(
register_fail
),说明小米推送注册失败。错误原因(reason
)参见 小米推送错误码。如果错误原因显示 UNKNOWN,通常是xiaomi_appid
或xiaomi_appkey
错误。结果码(resultCode
)参见 小米推送服务端错误码。选择主进程,过滤
report channel token
, 检查上报小米厂商 token 是否成功,如出现以下日志:report channel token error: xxxx
说明上报厂商 token 失败,请检查 mPaaS 配置文件 的
base64Code
是否有值,以及获取配置文件时上传的 apk 签名和当前应用是否一致。