全部产品

小米辅助通道集成

更新时间:2020-11-19 11:11

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

获取小米推送密钥

登录小米开发平台,注册您的App,得到注册应用的AppID、AppKey、AppSecret。

注意

最新的小米开放平台是分开Push功能的,需要在Push功能区开通/启用推送功能。

控制台配置密钥

登录移动推送控制台,设置您的小米推送密钥(AppSecret),设置方法参见配置厂商通道密钥

辅助通道集成

  1. 准备工作

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

  2. 添加依赖

    注意

    如果使用辅助通道扩展包V3.2.0及以上版本,需要将推送SDK升级到V3.2.0及以上版本。

    说明

    • 建议使用Maven集成。

    • 3.2.0及以上版辅助通道扩展包以aar形式透出,省却manifest文件配置,减少出错概率。

    • 3.2.0及之前版本,小米通道依赖包已内置在alicloud-android-third-push中,无需单独添加。

    • 方式一:手动集成

      解压下载好的辅助通道SDK扩展包,并将之放置到app module的libs路径下,并在app module的build.gradle文件中添加如下配置:

      repositories {
          flatDir {
              dirs 'libs' //this way we can find the .aar file in libs folder
          }
      }
      ...
      dependencies {
          ......
          //根据具体的版本添加依赖
          compile(name: 'alicloud-android-third-push-3.x.x', ext: 'aar')
          compile(name: 'alicloud-android-third-push-xiaomi-x.x.x', ext: 'aar')
          //3.2.2版本开始,需要单独添加小米sdk依赖,小米sdk是jar形式
          compile fileTree(include: ['*.jar'], dir: 'libs')
      }
    • 方式二:Maven集成

      项目顶层build.gradle中添加Maven仓库地址:

      allprojects {
          repositories {
              maven {
                  url 'http://maven.aliyun.com/nexus/content/repositories/releases/'
              }
          }
      }

      gradle添加依赖:

      dependencies {
          compile 'com.aliyun.ams:alicloud-android-third-push-xiaomi:x.x.x'
          compile 'com.aliyun.ams:alicloud-android-third-push:x.x.x'
      }
  3. 混淆配置

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

    # 小米通道
    -keep class com.xiaomi.** {*;}
    -dontwarn com.xiaomi.**
  4. 初始化

    将以下代码加入您application.onCreate()方法中初始化通道。

    注意

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

    // 注册方法会自动判断是否支持小米系统推送,如不支持会跳过注册。
    MiPushRegister.register(applicationContext, "小米AppID", "小米AppKey");

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

  5. Android 8+适配

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

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

  6. 初始化成功验证

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

    说明

    查看初始化日志需将SDK日志等级设置为DEBUG,请参见SDK API介绍中的设置日志等级

    小米通道初始化成功日志收到小米通道下行的消息:

    12-09 22:24:34.065 19566-25042/com.xxx D/MPS:MiPushReceiver: onReceiveMessage,msg=[{"f":262,"b":"{\"content\"\ ... ... ,"i":"f__-rnje3_OH74gE|VG0g3kwMnGADAGrXZku1FFW5"}]

    若小米通道注册失败(未看到小米注册成功日志),请查看系统日志(logcat设置为NoFiters)。

    以PushService|BroadcastQueue为正则式进行过滤,示例如下图:

    • MiPushBroadcastReceiver未配置:

      小米通道集成receiver未配置

    • MIPUSH_RECEIVE权限未配置

      小米通道集成receiver未配置2

使用辅助弹窗

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

注意

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

  • Android SDK V2.3.0及以上版本支持小米辅助弹窗。

辅助通道常见问题