魅族辅助通道集成

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

准备工作

  • 已经按照Android SDK接入完成了移动推送SDK的接入。

  • 已经在魅族开放平台注册了您的应用,如未注册请登录魅族开放平台,在魅族消息推送服务中注册您的应用。在应用信息中获取AppID和AppSecret。

  • 已经设置消息回执,如未设置请在魅族推送平台的应用列表,单击打开应用,进入配置管理>回执管理页面。

    image

    重要
    • 设置回执地址为:http://amspush-ack.aliyuncs.com/mz/ 及 https://amspush-ack.aliyuncs.com/mz/ 否则可能会收不到推送消息。

    • 未设置消息回执,将不会使用魅族通道推送。

  • 已经在EMAS控制台配置了魅族推送密钥(AppID和AppSecret),如未配置,请登录移动推送控制台,设置您的魅族推送密钥(AppID和AppSecret),设置方法参见配置厂商通道密钥

第一步:将SDK添加到您的应用

我们提供了Maven依赖和本地依赖两种集成方式,方便您根据需要将SDK添加到您的应用中。

说明
  • 建议开发者采用Maven依赖方式进行集成,配置简单,不容易出问题,后续更新方便。

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

1 Maven依赖方式

在您的模块(应用级)Gradle 文件(通常是<project>/<app-module>/build.gradl)中,在dependencies中添加SDK依赖。

重要
dependencies {
    implementation 'com.aliyun.ams:alicloud-android-third-push:x.x.x'
    implementation 'com.aliyun.ams:alicloud-android-third-push-meizu:x.x.x'
}

2 本地依赖方式

2.1 下载SDK

参考下载和集成SDK,选择移动推送进行下载,将SDK包内所有文件拷贝至您的模块(应用级)的<project>/<app-module>/libs目录下。

2.2 添加SDK依赖

2.2.1 配置本地SDK目录

在您的模块(应用级)Gradle 文件(通常是<project>/<app-module>/build.gradle)中,添加本地SDK文件目录地址。

repositories {
  flatDir {
    dirs 'libs'
  }
}

2.2.2 添加SDK依赖

在您的模块(应用级)Gradle 文件(通常是<project>/<app-module>/build.gradle)中,的dependencies中添加SDK依赖。

dependencies {
    implementation(name: 'alicloud-android-third-push-x.x.x', ext: 'aar')
    implementation(name: 'alicloud-android-third-push-meizu-x.x.x', ext: 'aar')
    implementation(name: 'meizu-push-x.x.x', ext: 'aar')
}

第二步:配置使用SDK

1 SDK初始化

重要

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

通过如下方式进行初始化:

// 魅族通道注册
// appId/appkey在魅族开发者平台获取
MeizuRegister.register(applicationContext, "appId", "appkey")
// 魅族通道注册
// appId/appkey在魅族开发者平台获取
MeizuRegister.register(applicationContext, "appId", "appkey");
说明

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

2 混淆配置

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

# 魅族通道
-keep class com.meizu.cloud.** {*;}
-dontwarn com.meizu.cloud.**

第三步:接入验证

1 打开SDK日志

val pushService = PushServiceFactory.getCloudPushService()
//仅适用于Debug包,正式包不需要此行
pushService.setLogLevel(CloudPushService.LOG_DEBUG)
CloudPushService pushService = PushServiceFactory.getCloudPushService();
//仅适用于Debug包,正式包不需要此行
pushService.setLogLevel(CloudPushService.LOG_DEBUG);      

2 确认成功方法

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

魅族初始化成功验证

后续步骤

您已经可以通过EMAS后台将推送通知通过辅助通道推送到手机通知栏,但是要处理点击通知后的逻辑,只能通过辅助弹窗来接收推送数据,详情请参见辅助弹窗接入

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

辅助通道常见问题

未设置消息回执,将不会使用魅族通道推送。

Android端辅助通道和弹窗问题的排查步骤

Android端辅助通道SDK与其他厂商SDK冲突

Android端辅助通道收到推送通知后单击通知无法打开相应Activity

Android端辅助弹窗启动报解析body异常

在集成移动推送辅助通道后显示"register not in main process,return"