背景
近日接到荣耀官方通知,荣耀品牌近期发布的新机以及 2024 年发布的新机都只支持荣耀推送,存量设备计划在 2024 年 Q1 完成推送服务升级,届时存量设备只支持荣耀推送,不再支持华为推送。为了保障接入 mPaaS 推送服务的 App 后续可继续通过厂商通道推送到荣耀设备,建议您按照以下指南,尽快完成荣耀推送的适配与升级工作。
客户端升级相关事项
如当前使用 10.2.3 基线,请升级到 10.2.3.38 或以上版本。
如当前使用其他定制基线,请联系 mPaaS 支持人员确认。
mPaaS 荣耀推送适配安卓端接入
下面介绍荣耀推送的接入流程,主要包括以下三个步骤。
注册荣耀推送
登录荣耀开发官网,注册账号并且开启推送服务。详情请参见 荣耀推送开启步骤。
接入荣耀推送
添加 推送 > HONOR 组件,方式与添加推送 SDK 相同,参考 添加推送 SDK 。
说明推送 > HONOR 组件仅包含适配代码,不包含荣耀推送 SDK,请按照下文单独添加荣耀推送 SDK 依赖。
请引入相应版本的基线版本(10.2.3.38 或以上版本),并添加荣耀推送适配的依赖 SDK,示例代码如下:
implementation platform("com.mpaas.android:mpaas-baseline:10.2.3-38") implementation 'com.mpaas.android:push-honor'
开发环境准备。开发环境需要符合荣耀推送集成的环境,具体可以参考 开发准备 > 环境信息。
添加配置文件。 在 荣耀开发者服务平台 中下载
mcs-services.json
配置文件,具体参考 添加应用配置文件。配置 SDK 的仓库地址。具体参考官方链接文档 配置 SDK 的 Maven 仓库地址。
添加依赖配置。在应用级的
build.gradle
文件中,在 dependencies 中添加如下编译依赖。具体请参考 添加依赖配置。dependencies { // 添加如下配置 implementation 'com.hihonor.mcs:push:7.0.61.302' }
如果需要更新版本,可参考 版本信息。
mPaaS 当前适配的版本为 7.0.61.302,如需使用更高版本,可根据需求修改,通常来说厂商 SDK 都会向下兼容。
如需使用混淆,则要添加相关混淆配置:
测试荣耀推送
接入荣耀推送后,您可以在荣耀手机上启动应用并确保调用了初始化方法(参见 快速开始),推送 SDK 动获取荣耀推送的厂商 token 并上报。
您可以在 App 启动后一段时间手动退出 App,然后推送测试消息:
如果仍然能收到消息,说明您的应用成功接入荣耀推送。
如果不能收到消息,请按照下文进行问题排查。
客户端排查问题
检查荣耀配置和参数是否和荣耀推送后台一致,检查
AndroidManifest.xml
中相关配置是否添加,com.hihonor.push.app_id
是否和荣耀推送后台一致。
检查
mcs-services.json
文件是否存在,存放位置是否正确。检查 mPaaS 控制台是否开启了荣耀通道(参见 配置荣耀推送渠道),以及相关配置是否和荣耀推送后台一致。
查看 logcat 日志进行排查:
选择 push 进程,过滤
mPush.PushProxyFactory
,检查是否存在以下日志:D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.honor.Creator
选择主进程,过滤 mHonor,检查是否获取到了荣耀推送的厂商 token,如出现日志
get token failed
则说明获取荣耀厂商 token 失败,错误码参见 荣耀推送错误码。选择主进程,过滤
report channel token
, 检查上报荣耀厂商 token 是否成功,如出现以下日志:report channel token error: xxxx
说明上报厂商 token 失败,请检查 将配置文件添加到项目中 的
base64Code
是否有值,以及获取配置文件时上传的 apk 签名和当前应用是否一致。若无,说明添加 推送 > HONOR 组件可能存在问题,请确认是否正确添加。
服务端升级相关事项
配置荣耀推送渠道
从左侧导航栏进入 消息推送 > 设置 > 通道配置 标签页。
单击 荣耀推送通道 配置区域右上角的 配置,页面上展示配置入口。
参数 | 是否必填 | 说明 |
状态 | 是 | 渠道的接入状态开关。打开开关,MPS 将根据配置接入荣耀推送渠道;关闭开关,即取消接入。 |
包名 | 是 | 支持自定义荣耀应用包名。 |
荣耀 AppID | 是 | 唯一应用标识符,在开发者平台开通对应应用的荣耀推送服务时生成。 |
荣耀应用 ID | 是 | 应用的客户 ID,用于获取发送消息令牌的 ID,在开发者平台开通对应应用 PUSH 服务时生成。 |
荣耀应用密钥 | 是 | 输入荣耀应用的密钥(App Secret)。 |
可登录 荣耀开发者联盟 官网,进入 管理中心 > 我的产品 > 移动应用详情 页面中获取应用包名、应用 App ID 和密钥。
单击 确定 按钮,保存配置。
验证荣耀厂商通道推送功能
使用 Magic OS 8.0 及以上版本荣耀手机,并安装集成新版 mPaaS 推送 SDK 后的 App,App 启动后一段时间手动退出 App,在 mPaaS 消息推送控制台使用 极简消息推送 > 优先厂商通道策略,对目标设备进行推送下发,若荣耀终端设备可以成功收到通知栏消息,则证明荣耀厂商通道集成成功。