本文档介绍 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
| ......
在以项目名为命名的顶层 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/"
}
}
}
在 app/build.gradle
文件中的 dependencies
块中引用厂商 SDK 依赖库 ,如下所示:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// 根据所需厂商选择集成
implementation 'com.getui:hwp-v4:2.0.0' // 华为
implementation 'com.getui:xmp:1.0.8' // 小米
implementation 'com.assist:oppo:1.0.7' // oppo
implementation 'com.assist:vivo:1.0.6' // vivo
implementation 'com.getui:mzp:1.1.1' // 魅族
implementation 'com.getui:stp:1.0.3' // UPS
}
在 app/build.gradle
文件中的 android.defaultConfig
下添加 manifestPlaceholders
,配置厂商相关的应用参数,如下 manifestPlaceholders 中的内容所示:
android {
defaultConfig {
manifestPlaceholders = [
// 小米相关应用参数
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 : ""
]
}
}
集成华为通道还需以下步骤。若无需集成华为厂商推送,可直接跳过此节
将 agconnect-services.json 文件拷贝到应用级根目录下。如下:
Getui_SDK_Demo_AS_manufacture/
|- app/ (项目主模块)
| ......
| |- agconnect-services.json
|- gradle/
|- build.gradle (顶层 gradle 文件)
|- settings.gradle
| ......
在以项目名为命名的顶层 build.gradle
文件的 buildscript.repositories
和 allprojects.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/'}
}
}
在模块级别 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.0.4.302'
}
配置签名信息:将应用签名文件拷贝到工程 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'
}
}
初始化个推SDK,打开logcat查看信息,Verbose级日志,tag过滤内容“Assist_”,Filter选择“No Filters”。
成功打印token信息则表示集成成功: