厂商 SDK 集成指南

厂商 SDK 集成指南

前言

  • 本文档介绍 Android Studio 开发环境下厂商推送 SDK 的 Maven 集成步骤

  • 集成厂商 SDK 前,必须先 集成个推 SDK

  • 辅助推送:个推推送针对厂商设备管控较严的情况特意接入厂商推送作为辅助通道以提高在厂商设备上的到达率。个推推送优先选择个推通道进行消息下发,只有在个推通道断连时选择辅助通道下发消息。厂商推送在下发纯透传消息时并不保证会拉起被杀死进程,所以辅助通道在进程被杀死情况下无法保证透传消息一定到达。

  • 本文默认您已经完成了个推推送 SDK 的集成以及掌握了基本的 Android 基础知识

  • 本文假设您的工程项目结构为

    Getui_SDK_Demo_AS_manufacture/
      |- app/ (项目主模块)
      |    |- libs/ (第三方库)
      |    |- src/ (代码目录)
      |    |- build.gradle (模块级 gradle 文件)
      |- gradle/
      |- build.gradle (顶层 gradle 文件)
      |- settings.gradle
      | ......
    

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

1.1 添加 Maven 库地址

在以项目名为命名的顶层 build.gradle 文件的 allprojects.repositories 中,添加个推 maven 库地址 http://mvn.gt.getui.com/nexus/content/repositories/releases/ 如下所示:

allprojects {
    repositories {
        jcenter()
        //添加 Maven URL 地址
        maven {
            url "http://mvn.gt.getui.com/nexus/content/repositories/releases/"
        }
    }
}

1.2 配置相关依赖

app/build.gradle 文件中的 dependencies 块中引用厂商 SDK 依赖库 ,此处的{version}为对应的版本号,详见厂商更新日志。ups为个推与手机厂商合作通道,目前支持坚果,索尼,海信手机。如下所示:

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

    // 根据所需厂商选择集成
    implementation 'com.getui.opt:hwp:{version}'  // 华为
    implementation 'com.getui.opt:xmp:{version}'     // 小米
    implementation 'com.assist-v3:oppo:{version}'     // oppo
    implementation 'com.assist-v3:vivo:{version}'     // vivo
    implementation 'com.getui.opt:mzp:{version}'     // 魅族
    implementation 'com.getui.opt:ups:{version}'     // ups,ups目前支持坚果,索尼,海信手机
}

1.3 配置应用参数

app/build.gradle 文件中的 android.defaultConfig 下添加 manifestPlaceholders,配置厂商相关的应用参数,如下 manifestPlaceholders 中的内容所示,ups无需配置对应的厂商ID,个推已经默认作出处理:

android {
    defaultConfig {
        manifestPlaceholders = [
                // 华为 相关应用参数
                HUAWEI_APP_ID  : "",

                // 小米相关应用参数
                XIAOMI_APP_ID  : "",
                XIAOMI_APP_KEY : "",

                // OPPO 相关应用参数   
                OPPO_APP_KEY   : "",
                OPPO_APP_SECRET: "",

                // VIVO 相关应用参数   
                VIVO_APP_ID    : "",
                VIVO_APP_KEY   : "",

                // 魅族相关应用参数  
                MEIZU_APP_ID   : "",
                MEIZU_APP_KEY  : ""
        ]
    }
}

2. 华为配置

集成华为通道还需以下步骤。若无需集成华为厂商推送,可直接跳过此节

1. 添加应用的 AppGallery Connect 配置文件

  1. 登录 AppGallery Connect,选择“我的项目”,找到应用所在的产品,点击应用名称。
  2. 选择“项目设置 > 常规”,在“应用”栏下的“agconnect-services.json”下载配置文件。
  3. 将 agconnect-services.json 文件拷贝到应用级根目录下。如下:

    Getui_SDK_Demo_AS_manufacture/
      |- app/ (项目主模块)
      |  ......
      |    |- agconnect-services.json 
      |- gradle/
      |- build.gradle (顶层 gradle 文件)
      |- settings.gradle
      | ......
    

注意:华为离线推送验证需要客户端使用签名包,否则会校验失败。

2. 配置相应依赖

  1. 在以项目名为命名的顶层 build.gradle 文件的 buildscript.repositoriesallprojects.repositories 中,添加 HMS SDK 的 maven 地址。在 buildscript.dependencies 添加 classpath 'com.huawei.agconnect:agcp:${version}' 如下所示:

    buildscript {
        repositories {
            jcenter()
            google()
            maven {url 'http://developer.huawei.com/repo/'}
        }
        dependencies {
            ......
            classpath 'com.huawei.agconnect:agcp:1.4.1.300'
        }
    }
    
    allprojects {
        repositories {
            ......
            maven {url 'http://developer.huawei.com/repo/'}
        }
    }
    
  2. 在模块级别 app/build.gradle 中文件头配置 apply plugin: 'com.huawei.agconnect' 以及在 dependencies 块配置 HMS Push 依赖 implementation 'com.huawei.hms:push:${version}',如下:

    apply plugin: 'com.android.application'
    apply plugin: 'com.huawei.agconnect'
    android { 
        ......
    }
    dependencies { 
        ......
        implementation 'com.huawei.hms:push:5.3.0.301'
    }
    
  3. 配置签名信息:将应用签名文件拷贝到工程 app 目录下,在 app/build.gradle 文件中配置签名。如下(具体请根据您当前项目的配置修改):

    signingConfigs {
         config {
             keyAlias 'pushdemo'
             keyPassword '123456789'
             storeFile file('pushdemo.jks')
             storePassword '123456789'
         }
     }
     buildTypes {
         debug {
             signingConfig signingConfigs.config
         }
         release {
             signingConfig signingConfigs.config
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
     }
    

3. 集成验证

初始化个推 SDK,打开 logcat 查看信息,Verbose 级日志,tag 过滤内容“Assist_”,Filter 选择“No Filters”。

成功打印 token 信息则表示集成成功:
config_succ

开发者中心 SDK 下载

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持