文档

vivo辅助通道集成

更新时间:

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

获取vivo推送密钥

登录vivo开放平台,注册您的应用,在应用信息中获取AppIDAppKeyAppSecret

设置消息回执

在vivo开放平台的推送服务里待配置应用的应用信息中,开通“APP回执地址”,设置回执地址为:https://amspush-ack.aliyuncs.com/vivo/

image.png

若不开通app回执地址,移动推送仅能统计到达量,无法感知推送失败的信息和原因,建议开通。

回执地址添加成功后,将在1小时后生效。如存量app从无回执地址到配置回执地址,可能存在一个中间时间段无法统计,请切前悉知此问题。

配置完回执地址,请记录界面中的回执ID,配置到移动推送控制台。

控制台配置密钥

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

通道集成

  1. 准备工作

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

  2. 添加依赖

    重要

    • 如果使用辅助通道扩展包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'
      }
  3. 混淆配置

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

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

    1. 需要在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" />
    2. 需要在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" 类可参考辅助弹窗接入获取。

    3. 将以下代码加入ApplicationonCreate()方法中初始化通道。

      重要

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

      // vivo通道的注册
      VivoRegister.register(applicationContext);

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

  5. Android 8+适配

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

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

  6. 初始化成功验证

    vivo通道是否注册成功,可以通过过滤MPS:vPush关键字查看,注册成功会打印getRegId regId:**相关日志,否则检查参数是否正确填入。

使用辅助弹窗

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

重要

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

辅助通道常见问题

vivo设备安装应用后默认不给通知权限,需引导用户手动开启的。

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

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

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

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

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

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