mPaaS 适配荣耀厂商推送

背景

近日接到荣耀官方通知,荣耀品牌近期发布的新机以及 2024 年发布的新机都只支持荣耀推送,存量设备计划在 2024 年 Q1 完成推送服务升级,届时存量设备只支持荣耀推送,不再支持华为推送。为了保障接入 mPaaS 推送服务的 App 后续可继续通过厂商通道推送到荣耀设备,建议您按照以下指南,尽快完成荣耀推送的适配与升级工作。

客户端升级相关事项

  • 如当前使用 10.2.3 基线,请升级到 10.2.3.38 或以上版本。

  • 如当前使用其他定制基线,请联系 mPaaS 支持人员确认。

mPaaS 荣耀推送适配安卓端接入

下面介绍荣耀推送的接入流程,主要包括以下三个步骤。

  1. 注册荣耀推送

  2. 接入荣耀推送

  3. 测试荣耀推送

注册荣耀推送

登录荣耀开发官网,注册账号并且开启推送服务。详情请参见 荣耀推送开启步骤

接入荣耀推送

  1. 添加 推送 > 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'
  2. 开发环境准备。开发环境需要符合荣耀推送集成的环境,具体可以参考 开发准备 > 环境信息

  3. 添加配置文件。 在 荣耀开发者服务平台 中下载 mcs-services.json 配置文件,具体参考 添加应用配置文件

  4. 配置 SDK 的仓库地址。具体参考官方链接文档 配置 SDK 的 Maven 仓库地址

  5. 添加依赖配置。在应用级的 build.gradle 文件中,在 dependencies 中添加如下编译依赖。具体请参考 添加依赖配置

    dependencies {
        // 添加如下配置
        implementation 'com.hihonor.mcs:push:7.0.61.302'
    }
    • 如果需要更新版本,可参考 版本信息

    • mPaaS 当前适配的版本为 7.0.61.302,如需使用更高版本,可根据需求修改,通常来说厂商 SDK 都会向下兼容。

  6. 如需使用混淆,则要添加相关混淆配置:

测试荣耀推送

  1. 接入荣耀推送后,您可以在荣耀手机上启动应用并确保调用了初始化方法(参见 快速开始),推送 SDK 动获取荣耀推送的厂商 token 并上报。

  2. 您可以在 App 启动后一段时间手动退出 App,然后推送测试消息:

    • 如果仍然能收到消息,说明您的应用成功接入荣耀推送。

    • 如果不能收到消息,请按照下文进行问题排查。

客户端排查问题

  1. 检查荣耀配置和参数是否和荣耀推送后台一致,检查 AndroidManifest.xml 中相关配置是否添加,com.hihonor.push.app_id 是否和荣耀推送后台一致。

  1. 检查 mcs-services.json 文件是否存在,存放位置是否正确。

  2. 检查 mPaaS 控制台是否开启了荣耀通道(参见 配置荣耀推送渠道),以及相关配置是否和荣耀推送后台一致。

  3. 查看 logcat 日志进行排查:

    1. 选择 push 进程,过滤 mPush.PushProxyFactory,检查是否存在以下日志:

      D/mPush.PushProxyFactory: found proxy com.mpaas.push.external.honor.Creator
    2. 选择主进程,过滤 mHonor,检查是否获取到了荣耀推送的厂商 token,如出现日志 get token failed 则说明获取荣耀厂商 token 失败,错误码参见 荣耀推送错误码

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

      report channel token error: xxxx

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

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

服务端升级相关事项

配置荣耀推送渠道

  1. 从左侧导航栏进入 消息推送 > 设置 > 通道配置 标签页。

  2. 单击 荣耀推送通道 配置区域右上角的 配置,页面上展示配置入口。

参数

是否必填

说明

状态

渠道的接入状态开关。打开开关,MPS 将根据配置接入荣耀推送渠道;关闭开关,即取消接入。

包名

支持自定义荣耀应用包名。

荣耀 AppID

唯一应用标识符,在开发者平台开通对应应用的荣耀推送服务时生成。

荣耀应用 ID

应用的客户 ID,用于获取发送消息令牌的 ID,在开发者平台开通对应应用 PUSH 服务时生成。

荣耀应用密钥

输入荣耀应用的密钥(App Secret)。

  1. 可登录 荣耀开发者联盟 官网,进入 管理中心 > 我的产品 > 移动应用详情 页面中获取应用包名、应用 App ID 和密钥。

  2. 单击 确定 按钮,保存配置。

验证荣耀厂商通道推送功能

使用 Magic OS 8.0 及以上版本荣耀手机,并安装集成新版 mPaaS 推送 SDK 后的 App,App 启动后一段时间手动退出 App,在 mPaaS 消息推送控制台使用 极简消息推送 > 优先厂商通道策略,对目标设备进行推送下发,若荣耀终端设备可以成功收到通知栏消息,则证明荣耀厂商通道集成成功。