本章节介绍如何集成移动推送提供的华为辅助通道SDK。
获取华为推送密钥
登录华为开发者联盟,注册您的应用,在应用信息中获取APP ID和SecretKey。
在我的应用中查看应用APP ID和SecretKey。

配置SHA256证书指纹
在华为开发者联盟配置SHA256证书指纹。获取及配置请参见华为官方文档配置AppGallery Connect。
设置消息回执
使用辅助弹窗后,华为通道的到达率统计覆盖用用户点击华为弹窗推送通知的场景,未点击部分暂未覆盖,您可在华为开发者联盟平台设置消息回执,便于移动推送更好的统计推送数据。

开通回执需配置回调地址和HTTPS证书:
回调证书:https://amspush-ack.aliyuncs.com/hw/
HTTPS证书:
-----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp 1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE 38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE-----
控制台配置密钥
登录移动推送控制台,设置您的华为推送密钥(AppID和AppSecret),设置方法参见配置厂商通道密钥。
通道集成
准备工作
请阅读Android SDK版本说明,下载对应版本SDK或获取最新SDK配置信息。
添加依赖
注意华为推送的2.X版本SDK将于2021年9月30日下线。为了避免推送受到影响,请尽快升级推送SDK及华为辅助通道SDK到3.2.4版本及以上。
注意如果使用辅助通道扩展包V3.2.0及以上版本,需要将推送SDK升级到V3.2.0及以上版本。
说明建议使用Maven集成。
3.2.0及以上版辅助通道扩展包以aar形式透出,省却manifest文件配置,减少出错概率。
方式一:手动集成
注意3.2.4及以上版本华为sdk不支持手动集成。
解压下载好的辅助通道SDK扩展包,并将之放置到app module的libs路径下,并在app module的build.gradle文件中添加如下配置:
repositories { flatDir { dirs 'libs' //this way we can find the .aar file in libs folder } // 配置HMS Core SDK的Maven仓地址。 maven { url 'https://developer.huawei.com/repo/' } } ... dependencies { ...... compile(name: 'alicloud-android-third-push-x.x.x', ext: 'aar') compile(name: 'alicloud-android-third-push-huawei-x.x.x', ext: 'aar') compile 'com.huawei.hms:push:5.x.x.x' }
方式二:Maven集成
项目顶层build.gradle中添加Maven仓库地址:
allprojects { repositories { maven { url 'http://maven.aliyun.com/nexus/content/repositories/releases/' } // 配置HMS Core SDK的Maven仓地址。 maven { url 'https://developer.huawei.com/repo/' } } }
gradle添加依赖:
dependencies { compile 'com.aliyun.ams:alicloud-android-third-push-huawei:x.x.x' }
混淆配置
如果集成推送SDK的工程开启代码混淆,需要添加以下辅助通道的Proguard配置。
# 华为通道 -keep class com.huawei.** {*;} -dontwarn com.huawei.**
初始化
在AndroidManifest.xml中配置AppID,其中xxxxx为华为应用的AppID。
<meta-data android:name="com.huawei.hms.client.appid" android:value="appid=xxxxxx" />
将以下代码加入你application.onCreate()方法中初始化通道。
注意辅助通道注册务必在Application中执行且放在推送SDK初始化代码之后,否则可能导致辅助通道注册失败。
// 注册方法会自动判断是否支持华为系统推送,如不支持会跳过注册。 HuaWeiRegister.register(application);
本方法会自动判断是否支持华为系统推送,如不支持会跳过注册。
Android 8+配置
自Android 8.0(API Level 26)起,Android推出了NotificationChannel机制,旨在对通知进行分类管理。如果用户App的targetSdkVersion大于等于26,且并未设置NotificaitonChannel,那么创建的通知是不会弹出显示。
请参见Android 8.0以上设备接收不到推送通知进行适配。
初始化成功验证
华为通道初始化成功,可以看到以下日志:
使用辅助弹窗
厂商通道,除Google通道外,只能通过辅助弹窗来接收推送数据,详情参考辅助弹窗接入。
在阿里云这边进行厂商通道推送时(使用移动推送控制台或者OpenAPI进行推送时),服务端请必须参考辅助弹窗文档进行服务端配置,服务端参数不设置,不会给厂商通道进行推送。
Android SDK V3.0.8及以上版本支持华为辅助弹窗。
当前辅助弹窗功能在华为系统中仅支持Emotion UI(华为定制ROM)4.1及以上版本的设备。
在文档使用中是否遇到以下问题
更多建议
匿名提交