操作场景
移动推送SDK 1.3.3.0 起支持荣耀推送通道接入。荣耀通道是由荣耀官方提供的系统级推送通道。在荣耀手机上,推送消息能够通过荣耀的系统通道抵达终端,并且无需打开应用,即可收到推送,更多详情请参见 荣耀推送业务介绍。
说明
SDK 1.3.8.0版本起支持 Magic UI 4.0 及以上荣耀设备使用。
申请开通荣耀推送服务需荣耀开发者企业账户。
荣耀推送需要在签名包环境下才可注册厂商通道成功并通过厂商通道进行推送。
警告:
由于荣耀计划在2024年开始独立运营商业内容,并将逐步将各项系统能力从华为转移至自身,无法继续通过华为通道下发消息。因此,请您尽快接入荣耀通道,以实现荣耀的离线推送功能。
操作步骤
步骤1:获取密钥
3. 复制应用的 AppId、Client ID 和 Client Secret 参数,分别填入**移动推送控制台** > App 推送管理 > 基础配置 > 荣耀官方推送通道栏目的字段 AppId、ClientId、SecretKey 中。
步骤2:配置内容
以下集成方式二选一。
Android Studio 集成方法
在 App 模块下的 build.gradle 文件内,完成移动推送所需的配置后,再增加以下节点:
1. 配置荣耀推送的 AppID,示例代码如下:
manifestPlaceholders = [HONOR_APPID : "xxxx"]
2. 导入荣耀推送相关依赖,示例代码如下:
implementation 'com.tencent.tpns:honor:[VERSION]-release'
说明
荣耀推送 [VERSION] 为当前 SDK 版本号,版本号可在 Android SDK 发布动态 查看,1.3.3.0 起支持。
荣耀推送适配 Android 11 预置
<queries>
标签,请注意升级 Android Studio 至 3.6.1 或更高版本、Android gradle build tools 插件至 3.5.4 或更高版本,否则可能导致工程构建出错。Eclipes 集成方法
获取移动推送荣耀通道 SDK 包后,按照移动推送官网手动集成方法,在配置好移动推送主版本的基础下,进行以下设置:
1. 下载 SDK 安装包。
2. 打开 Other-Push-jar 文件夹,导入荣耀推送相关 jar 包。
3. 在
Androidmanifest.xml
文件中,新增如下配置:<uses-permission android:name="com.hihonor.push.permission.READ_PUSH_NOTIFICATION_INFO" /><application><!-- 自定义荣耀推送回调 service --><serviceandroid:name="com.tencent.android.tpush.honor.HonorMessageService"android:exported="false"><intent-filter><action android:name="com.hihonor.push.action.MESSAGING_EVENT" /></intent-filter></service><meta-dataandroid:name="com.hihonor.push.sdk_version"android:value="7.0.41.301" /><!-- 荣耀推送 appId --><meta-dataandroid:name="com.hihonor.push.app_id"android:value="${HONOR_APPID}" /></application>
步骤3:开启荣耀推送
在调用移动推送
XGPushManager.registerPush
之前,开启第三方推送接口://打开第三方推送XGPushConfig.enableOtherPush(getApplicationContext(), true);//注册成功的日志如下I/TPush: [OtherPushClient] handleUpdateToken other push token is : IQAAAACy0Ps******GlJi_5-0rpskunnNMcat35HA other push type: honorI/TPush: [PushServiceBroadcastHandler] >> bind OtherPushToken success ack with [accId = 150000**** , rsp = 0] token = 01a22******ed343 otherPushType = honor otherPushToken = IQAAAACy0Ps******GlJi_5-0rpskunnNMcat35HA
步骤4:代码混淆
-ignorewarnings-keepattributes *Annotation*-keepattributes Exceptions-keepattributes InnerClasses-keepattributes Signature-keepattributes SourceFile,LineNumberTable-keep class com.hihonor.push.framework.aidl.**{*;}-keep class com.hihonor.push.sdk.**{*;}
说明
混淆规则需要放在 App 项目级别的 proguard-rules.pro 文件中。
步骤5:荣耀通道抵达回执配置
常见问题排查
荣耀推送注册错误码查询方法
若观察到如下类似日志则说明荣耀厂商通道注册失败,开发者可以通过以下方式获取荣耀推送注册错误码:
[OtherPushClient] handleUpdateToken other push token is : other push type: honor