文档

华为辅助通道集成

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本章节介绍如何集成移动推送提供的华为辅助通道SDK。

获取华为推送密钥

登录华为开发者联盟,注册您的应用,在应用信息中获取APP ID和SecretKey。

说明

您可以在我的应用中查看应用APP ID和SecretKey。

华为开放平台应用信息如果在上图中未找到SecretKey,您也可以在下图中查看OAuth2.0客户端ID(凭据)中的Client Secretfig04

配置SHA256证书指纹

在华为开发者联盟配置SHA256证书指纹。获取及配置请参见华为官方文档配置AppGallery Connect

设置消息回执

使用辅助弹窗后,华为通道的到达率统计覆盖用户点击华为弹窗推送通知的场景,未点击部分暂未覆盖,您可在华为端设置消息回执,便于移动推送更好的统计推送数据,具体设置方法请参见:消息回执

开通回执需配置回调地址:https://amspush-ack.aliyuncs.com/hw/

若配置了多个回调地址,需要将上面的回调地址对应的配置设为默认回执,或者记录回执ID配置到控制台的默认回执ID中。

控制台配置密钥

登录移动推送控制台,设置您的华为推送密钥(AppID、AppSecret、默认回执ID),设置方法参见配置厂商通道密钥

通道集成

警告

  • 华为推送的2.X版本SDK将于2021年9月30日下线。为了避免推送受到影响,请尽快升级推送SDK及华为辅助通道SDK到3.2.4版本及以上。

  • 华为推送在2023年9月15日起对本地通知纳入每天通知条数的管控,请升级推送SDK到3.7.0及以上版本,更多信息:华为推送服务管控新规及适配

  1. 准备工作

    请阅读Android SDK版本说明,下载对应版本SDK或获取最新SDK配置信息。

  2. 添加依赖

    说明

    • 建议使用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 {
          ......
          implementation(name: 'alicloud-android-third-push-x.x.x', ext: 'aar')
          implementation(name: 'alicloud-android-third-push-huawei-x.x.x', ext: 'aar')
          implementation '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 {
          implementation 'com.aliyun.ams:alicloud-android-third-push-huawei:x.x.x'
      }
  3. 混淆配置

    如果集成推送SDK的工程开启代码混淆,需要添加以下辅助通道的Proguard配置。

    # 华为通道
    -keep class com.huawei.** {*;}
    -dontwarn com.huawei.**
  4. 初始化

    1. 在AndroidManifest.xml中配置AppID,其中xxxxx为华为应用的AppID。

      <meta-data
      	android:name="com.huawei.hms.client.appid"
       	android:value="appid=xxxxxx" />
    2. 将以下代码加入ApplicationonCreate()方法中初始化通道。

      重要

      辅助通道注册务必在Application中执行且放在推送SDK初始化代码之后,否则可能导致辅助通道注册失败。

      // 注册方法会自动判断是否支持华为系统推送,如不支持会跳过注册。
      HuaWeiRegister.register(application);

      本方法会自动判断是否支持华为系统推送,如不支持会跳过注册。

  5. Android 8+配置

    自Android 8.0(API Level 26)起,Android推出了NotificationChannel机制,旨在对通知进行分类管理。如果用户App的targetSdkVersion大于等于26,且并未设置NotificaitonChannel,那么创建的通知是不会弹出显示。

    请参见Android 8.0以上设备接收不到推送通知进行适配。

  6. 初始化成功验证

    华为通道初始化成功,可以看到以下日志:

    华为通道初始化成功日志

使用辅助弹窗

厂商通道,除Google通道外,只能通过辅助弹窗来接收推送数据,详情参考辅助弹窗接入

重要

  • 在阿里云这边进行厂商通道推送时(使用移动推送控制台或者OpenAPI进行推送时),服务端请必须参考辅助弹窗文档进行服务端配置,服务端参数不设置,不会给厂商通道进行推送。

  • Android SDK V3.0.8及以上版本支持华为辅助弹窗。

  • 当前辅助弹窗功能在华为系统中仅支持EmotionUI 4.1及以上版本的设备。

辅助通道常见问题

  • 本页导读 (0)
文档反馈