本章节介绍如何集成移动推送提供的vivo辅助通道SDK。
准备工作
已经按照Android SDK接入完成了移动推送SDK的接入。
已经在vivo开放平台注册了您的应用,如未注册请登录vivo开放平台,注册您的应用。在应用信息中获取AppID、AppKey、AppSecret。
已经设置消息回执,如未设置请在vivo开放平台的推送服务里待配置应用的应用信息中,开通“APP回执地址”。
重要若不开通app回执地址,移动推送仅能统计到达量,无法感知推送失败的信息和原因,建议开通。
设置回执地址为:
https://amspush-ack.aliyuncs.com/vivo/
。回执地址添加成功后,将在1小时后生效。如存量app从无回执地址到配置回执地址,可能存在一个中间时间段无法统计,请切前悉知此问题。
配置完回执地址,请记录界面中的回执ID,配置到移动推送控制台。
已经在EMAS控制台配置了vivo推送密钥(AppID、AppSecret和默认回执ID),如未配置,请登录EMAS移动推送控制台,设置您的vivo推送密钥(AppID、AppSecret和默认回执ID),设置方法参见配置厂商通道密钥。
第一步:将SDK添加到您的应用
我们提供了Maven依赖和本地依赖两种集成方式,方便您根据需要将SDK添加到您的应用中。
建议开发者采用Maven依赖方式进行集成,配置简单,不容易出问题,后续更新方便。
3.2.0及以上版辅助通道扩展包以aar形式透出,省去manifest文件配置,减少出错概率。
1 Maven依赖方式
在您的模块(应用级)Gradle 文件(通常是<project>/<app-module>/build.gradl
)中,在dependencies
中添加SDK依赖。
请阅读Android SDK版本说明,下载对应版本SDK或获取最新SDK配置信息。
dependencies {
implementation 'com.aliyun.ams:alicloud-android-third-push:x.x.x'
implementation 'com.aliyun.ams:alicloud-android-third-push-vivo: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-vivo-x.x.x', ext: 'aar')
implementation(name: 'vivo-push-x.x.x.x', ext: 'aar')
}
第二步:配置使用SDK
1 配置AppID和AppKey
在应用级的AndroidManifest.xml
文件下的application
节点下添加meta-data来配置AppID和AppKey。
<meta-data
android:name="com.vivo.push.api_key"
android:value="请填写vivo平台上注册应用的appKey" />
<meta-data
android:name="com.vivo.push.app_id"
android:value="请填写vivo平台上注册应用的appID" />
2 SDK初始化
SDK初始化务必在Application中执行且放在推送SDK初始化代码之后,否则可能导致辅助通道注册失败。
通过如下方式进行初始化:
// vivo通道的注册
VivoRegister.register(applicationContext)
// vivo通道的注册
VivoRegister.register(applicationContext);
注册方法会自动判断是否支持Vivo系统推送,如不支持会跳过注册。
3 混淆配置
如果集成推送SDK的工程开启了代码混淆,需要添加以下辅助通道的Proguard配置。
# vivo通道
-keep class com.vivo.** {*;}
-dontwarn com.vivo.**
第三步:接入验证
1 打开SDK日志
val pushService = PushServiceFactory.getCloudPushService()
//仅适用于Debug包,正式包不需要此行
pushService.setLogLevel(CloudPushService.LOG_DEBUG)
CloudPushService pushService = PushServiceFactory.getCloudPushService();
//仅适用于Debug包,正式包不需要此行
pushService.setLogLevel(CloudPushService.LOG_DEBUG);
2 确认成功方法
vivo通道是否注册成功,可以通过过滤MPS:vPush
关键字查看,注册成功会打印getRegId regId:**相关日志,否则检查参数是否正确填入。
后续步骤
您已经可以通过EMAS后台将推送通知通过辅助通道推送到手机通知栏,但是要处理点击通知后的逻辑,只能通过辅助弹窗来接收推送数据,详情请参见辅助弹窗接入。
使用移动推送进行厂商通道推送时(使用移动推送控制台或者OpenAPI进行推送时),服务端请必须参考辅助弹窗文档进行服务端配置,服务端参数不设置,不会给厂商通道进行推送。
辅助通道常见问题
vivo设备安装应用后默认不给通知权限,需引导用户手动开启的。