vivo辅助通道集成
本章节介绍如何集成移动推送提供的vivo辅助通道SDK。
获取vivo推送密钥
登录vivo开放平台,注册您的应用,在应用信息中获取AppID、AppKey、AppSecret。
控制台配置密钥
登录移动推送控制台,设置您的vivo推送密钥(AppID和AppSecret),设置方法参见配置厂商通道密钥。
通道集成
准备工作
请阅读Android SDK版本说明,下载对应版本SDK或获取最新SDK配置信息。
添加依赖
重要如果使用辅助通道扩展包V3.2.0及以上版本,需要将推送SDK升级到V3.2.0及以上版本。
建议使用Maven集成。
3.2.0及以上版辅助通道扩展包以aar形式透出,省却manifest文件配置,减少出错概率。
方式一:手动集成
解压下载好的辅助通道SDK扩展包,并将之放置到app module的libs路径下,并在app module的build.gradle文件中添加如下配置:
repositories { flatDir { dirs 'libs' //this way we can find the .aar file in libs folder } } ... 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-3.0.0.3', ext: 'aar') }
方式二:Maven集成
项目顶层build.gradle中添加Maven仓库地址:
allprojects { repositories { maven { url 'http://maven.aliyun.com/nexus/content/repositories/releases/' } } }
gradle添加依赖:
dependencies { implementation 'com.aliyun.ams:alicloud-android-third-push:x.x.x' implementation 'com.aliyun.ams:alicloud-android-third-push-vivo:x.x.x' }
混淆配置
如果集成推送SDK的工程开启代码混淆,需要添加以下辅助通道的Proguard配置。
# VIVO通道 -keep class com.vivo.** {*;} -dontwarn com.vivo.**
初始化
需要在AndroidManifest.xml中声明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" />
需要在AndroidManifest.xml中,对辅助弹窗配置scheme,示例如下:
<activity android:name=".ThirdPushPopupActivity" android:exported="true" android:label="@string/title_activity_third_push_notice" android:launchMode="singleInstance" android:screenOrientation="portrait"> <!-- 假设 ThirdPushPopupActivity 是用于接收厂商通道推送数据的辅助弹窗 --> <!-- scheme 配置开始 --> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="${applicationId}" android:path="/thirdpush" android:scheme="agoo" /> </intent-filter> <!-- scheme 配置结束 --> </activity>
说明"ThirdPushPopupActivity" 类可参考辅助弹窗接入获取。
将以下代码加入
Application
的onCreate()
方法中初始化通道。重要辅助通道注册务必在Application中执行且放在推送SDK初始化代码之后,否则可能导致辅助通道注册失败。
// vivo通道注册 VivoRegister.register(applicationContext);
本方法会自动判断是否支持vivo系统推送,如不支持会跳过注册。
Android 8+适配
自Android 8.0(API Level 26)起,Android推出了NotificationChannel机制,旨在对通知进行分类管理。如果用户App的targetSdkVersion大于等于26,且并未设置NotificaitonChannel,那么创建的通知是不会弹出显示。
请参见Android 8.0以上设备接收不到推送通知进行适配。
初始化成功验证
vivo通道是否注册成功,可以通过过滤
MPS:vPush
关键字查看,注册成功会打印getRegId regId:**相关日志,否则检查参数是否正确填入。
使用辅助弹窗
厂商通道,除Google通道外,只能通过辅助弹窗来接收推送数据,详情参考辅助弹窗接入。
使用移动推送进行厂商通道推送时(使用移动推送控制台或者OpenAPI进行推送时),服务端请必须参考辅助弹窗文档进行服务端配置,服务端参数不设置,不会给厂商通道进行推送。
辅助通道常见问题
vivo设备安装应用后默认不给通知权限,需引导用户手动开启。
Android端阿里云移动推送与其他注册厂商如何同时获取regId