VIVO 辅助推送集成

VIVO 辅助推送集成

目录
    前言
    1. 准备阶段   
        1.1 创建 VIVO 应用
        1.2 开通权限和应用配置
    2. 添加辅助 SDK 及相关配置
        2.1 jcenter 集成
            2.1.1 配置依赖
            2.1.2 配置 VIVO 应用参数
        2.2 手动集成
            2.2.1 导入辅助 SDK
            2.2.2 配置辅助 SDK 相关参数
    3. Proguard 混淆配置


前言

  • 本文档介绍 Android Studio 开发环境下手动方式导入 SDK 资源进行多厂商推送 SDK 集成的步骤,配置相对复杂,需要仔细阅读文档和 Demo 工程。

  • 本插件支持个推主包 2.12.5.5 或 GooglePlay4.3.5.0 以上版本

  • 辅助推送:个推推送针对 VIVO 设备管控较严的情况特意接入 VIVO 推送作为辅助通道以提高在 VIVO 设备上的到达率。个推推送优先选择个推通道进行消息下发,只有在个推通道断连时选择辅助通道下发消息。另外需要注意 VIVO 推送不支持纯透传的方式。

  • 辅助推送启用条件:xplay6, x9 系列, x9s, x20 系列,Y79 系列,y75 系列,后续版本待 vivo 支持。

  • 功能接口对辅助 sdk 的差异处理

    | API 接口 | VIVO 辅助 SDK |
    | ------| ------ |
    | stopService(Context context) | 不会停止 VIVO 辅助 SDK |

  • 请参考Getui_SDK_Demo_AS_manufactureDemo 工程

  • 本文默认您已经完成了个推推送 SDK 的集成以及掌握了基本的 Android 基础知识
  • 本文假设您的工程项目结构为
    Getui_SDK_Demo_AS_manufacture/
    |- app/ (项目主模块)
    |    |- libs/ (第三方库)
    |    |- src/ (代码目录)
    |    |- build.gradle (模块级 gradle 文件)
    |- gradle/
    |- build.gradle (顶层 gradle 文件)
    |- settings.gradle
    | ......
    
    注:其中 “......” 表示省略其他与本教程无关的配置内容,以下 “......” 表示相同意义,不再重复说明。

1. 准备阶段

说明:该阶段主要介绍了如何创建 OPPO 应用及开通相关的应用权限配置,如果您已经完成该阶段,可以直接进入下一阶段。

1.1 创建 VIVO 应用

  1. 首先,先创建 VIVO 应用,见 Vivo 推送平台开启指南。

  2. 查看应用信息,获取 VIVO APP ID、VIVO APP keyy、VIVO APP secret

    img_manufacture_vivo4

1.2 开通权限和应用配置

请联系个推客服开通多厂商推送功能

2. 添加辅助 SDK 及相关配置

2.1 jcenter 集成

2.1.1 配置依赖

请确认在以项目名为命名的顶层 build.gradle 文件中配置了 jcenter 支持。(新建 project 默认配置就支持), 如下:


buildscript {
    repositories {
        jcenter()
    }
    ......
}

allprojects {
    repositories {
        jcenter()
    }
}

app/build.gradle 文件中的 dependencies 块中添加 implementation 'com.assist:vivo:${version}' 引用个推辅助 SDK 依赖库,此处的 ${version} 为您当前获取到的 SDK 版本号,例如: 1.0.4 ,如下所示:


......

dependencies {
    implementation 'com.assist:vivo:${version}' //请将此处的 ${version} 替换成您当前相应的 SDK 版本号
}

......

2.1.2 配置应用参数

app/build.gradle 文件中的 android.defaultConfig 下添加 manifestPlaceholders ,配置 VIVO 相关的应用参数(参见准备阶段【步骤 1.1】),如下所示:

......

android {

    defaultConfig {
        ......

        manifestPlaceholders = [

                //VIVO 相关应用参数,请填写您的 VIVO_APP_ID,VIVO_APP_KEY 值   
                VIVO_APP_ID   : "",
                VIVO_APP_KEY  : ""  

                ......

        ]
        ......
    }

}

......

请根据【步骤 1】获取到的应用参数填写相应 VIVO_APP_IDVIVO_APP_KEY 的值,最终的 app/build.gradle 的大致结构如下所示:

......

android {

    defaultConfig {
        ......

        manifestPlaceholders = [
                //个推应用参数,请填写您获取到的应用参数值
                GETUI_APP_ID : "", 
                GETUI_APP_KEY : "",
                GETUI_APP_SECRET : "",

                //VIVO 相关应用参数,请填写您的 VIVO_APP_ID,VIVO_APP_KEY 值   
                VIVO_APP_ID   : "",
                VIVO_APP_KEY  : ""  

                ......

        ]

        ndk {
            abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86"
        }


    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.assist:vivo:${version}' //请将此处的 ${version} 替换成您当前相应的 SDK 版本号
    ......
}

2.2 手动集成

2.2.1 导入辅助 SDK

  1. 下载辅助 SDK 资料包,辅助 SDK 资料包结构如下:

    GETUI_ANDROID_VIVO_SUPPORT/
      |- readme.txt (SDK 资料包说明)
      |- 接入文档/ (Android SDK 相关集成文档 PDF 版本)
      |- 资源文件/
      |    |- GetuiSDK-support-VIVO-<version>.jar
      | - Demo 工程/
      |    |- Getui_SDK_Demo_AS_manufacture/ (AndroidStudio 多厂商推送集成 Demo 工程)
    
  2. 导入辅助 SDK

    以下集成步骤假设项目主模块名为app

    将 SDK 资料包 GETUI_ANDROID_VIVO_SUPPORT/资源文件 目录下的 GetuiSDK-support-VIVO-<version>.jar 复制到 app 模块目录下的 libs 文件夹中,并在 app/build.gradle,在 dependencies 中添加相应的 jar 包的引用:

    dependencies {
        // 该行配置将会编译 libs 目录下的所有 jar 文件
        implementation fileTree(dir: 'libs', include: ['*.jar'])
    }
    

2.2.2 配置辅助 SDK 相关参数

  1. app/build.gradle 文件中的 android.defaultConfig 下添加 manifestPlaceholders ,配置 VIVO 相关的应用参数(参见准备阶段【步骤 1.1】),如下所示:

    ......
    
    android {
    
        defaultConfig {
            ......
    
            manifestPlaceholders = [
    
                    //VIVO 相关应用参数,请填写您的 VIVO_APP_ID,VIVO_APP_KEY 值   
                    VIVO_APP_ID   : "",
                    VIVO_APP_KEY  : ""  
    
                    ......
    
            ]
            ......
        }
    
    }
    
    ......
    
请根据【步骤 1】获取到的应用参数填写相应 `VIVO_APP_ID`、`VIVO_APP_KEY` 的值,最终的 `app/build.gradle` 的大致结构如下所示:



```gradle
......

android {

    defaultConfig {
        ......

        manifestPlaceholders = [
                //个推应用参数,请填写您获取到的应用参数值
                GETUI_APP_ID : "", 
                GETUI_APP_KEY : "",
                GETUI_APP_SECRET : "",

                //VIVO 相关应用参数,请填写您的 VIVO_APP_ID,VIVO_APP_KEY 值   
                VIVO_APP_ID   : "",
                VIVO_APP_KEY  : ""  

                ......

        ]

        ndk {
            abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86"
        }

    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    ......
}

```


  1. 在 Manifest 中配置辅助 SDK 组件

    AndroidManifest.xml 中需要正确配置个推 SDK 所需的 Service 组件。请在 <application> 标签内增加以下组件配置(由于使用了 manifestPlaceholders 来做参数替换,因此以下配置无需手工修改,直接复制粘贴即可):

    <!-- VIVO 辅助 SDK -->
    <meta-data
        android:name="com.vivo.push.app_id"
        android:value="${VIVO_APP_ID}" />
    
    <meta-data
        android:name="com.vivo.push.api_key"
        android:value="${VIVO_APP_KEY}" />
    
    <service
        android:name="com.vivo.push.sdk.service.CommandClientService"
        android:exported="true"
        android:process=":pushservice"/>
    
    <activity
        android:name="com.vivo.push.sdk.LinkProxyClientActivity"
        android:exported="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:process=":pushservice"/>
    
    <receiver android:name="com.igexin.sdk.VivoPushMessageReceiver"
        android:process=":pushservice">
        <intent-filter>
        <!-- 接收 push 消息 -->
            <action android:name="com.vivo.pushclient.action.RECEIVE" />
        </intent-filter>
    </receiver>
    
    
  2. 添加权限声明

    请在 <manifest> 根标签下加入辅助 SDK 所必需的权限,配置如下:

    <!-- VIVO 辅助 SDK -->
    <uses-permission    android:name="android.permission.INTERNET"/>
    
    

3. Proguard 混淆配置

如果您的工程启用了 Proguard 混淆,即如果在 app/build.gradleandroid.buildTypes.release 下配置了 minifyEnabled true,为了避免辅助 SDK 被错误混淆导致功能异常,需要在 app/proguard-rules.pro 混淆配置文件中添加如下配置:

-keep class com.vivo.push.** { *; }
-dontwarn com.vivo.push.**

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询