集成指南
前言
本文档介绍 Android Studio 开发环境下基于 Maven 方式集成的步骤。
本文档适用 SDK 版本:3.1.2.0 及以后
本文默认读者已经具有基础的 Android 知识,以及项目工程结构如下:
```
Getui_SDK_Demo_AS_official/
|- app/ (项目主模块)||- libs/ (第三方库)||- src/ (代码目录)||- build.gradle (模块级 gradle 文件)|- gradle/|- build.gradle (顶层 gradle 文件)|- settings.gradle|......
```
注:其中 “`......`” 表示省略其他与本教程无关的内容,以下 “`......`” 表示相同意义,不再重复说明。
重点提示
SDK 最新 so 为 libgetuiext3.so,由于仅支持Maven方式集成,故老版本升级时请删除原先jniLibs目录中所有的 libgetuiext2.so、libgetuiext.so;
移除 Gradle 中 GETUI_APP_KEY、GETUI_APP_SECRET、配置,GETUI_APP_ID 改为 GETUI_APPID, AndroidManifest 中仅保留 GETUI_APPID 占位符。
为兼容 Android 9.0,请在 application 节点添加 android:usesCleartextTraffic="true";
简化集成步骤,只需调用新增 PushManager.getInstance().initialize(Context context) 接口即可完成 SDK 初始化, 个推 SDK 会自动去寻找相应的 PushService 和 GTIntentService,无需在代码中注册自定义的PushService以及再次调用 PushManager.getInstance().registerPushIntentService(Context context, Class userIntentService) 进行 IntentService 注册,详细步骤见本教程说明。建议替换原有的PushManager.getInstance().initialize(Context context, Class userServiceName)接口。
原先使用 2.9.5.0 以下版本的用户,升级前请删除所有已集成配置。
接口变动:移除 PushManager.getInstance().stopService() 接口。
废弃原有的 PushManager.getInstance().initialize(Context context, Class userServiceName) 、PushManager.getInstance().registerPushIntentService(Context context, Class userIntentService)接口。
新增PushManager.getInstance().initialize(Context context) 接口进行初始化,推荐使用该接口进行初始化。
新增PushManager.getInstance().setDebugLogger(Context context, IUserLoggerInterface loggerInterface) 接口,用于调试日志输出。
请在app/build.gradle 中加入以下代码,使用 java 8.compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
1. 创建个推应用
请参考 创建应用 获取相应的AppID信息。该信息在之后的步骤配置中将会使用。
2. Maven 集成
注意:如果过去是手动集成方式切换到 Maven 集成,则需删除原有集成配置再进行新集成。
2.1 配置 Maven 库地址
在项目根目录 build.gradle 文件的 allprojects.repositories 块中,添加个推 maven 库地址 maven { url "http://mvn.gt.getui.com/nexus/content/repositories/releases/"},如下所示:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
......
}
}
allprojects {
repositories {
jcenter()
google()
maven {
url "http://mvn.gt.getui.com/nexus/content/repositories/releases/"
}
}
}
2.2 配置依赖
配置 so 库:目前个推 SDK 支持 armeabi、armeabi-v7a、arm64-v8a、mips、mips64、x86、x86_64 这几种 CPU 架构,请根据项目情况指定所需的架构。注意:如果项目中