本文默认读者已经具有基础的 Android 知识,以及项目工程结构如下:
Getui_SDK_Demo_AS_official/
|- app/ (项目主模块)
| |- libs/ (第三方库)
| |- src/ (代码目录)
| |- build.gradle (模块级 gradle 文件)
|- gradle/
|- build.gradle (顶层 gradle 文件)
|- settings.gradle
| ......
注:其中 “......” 表示省略其他与本教程无关的内容,以下 “......” 表示相同意义,不再重复说明。
请参考 创建应用 获取相应的AppID
信息。该信息在之后的步骤配置中将会使用。
在项目根目录 build.gradle
文件的 allprojects.repositories
块中,添加个推 maven 库地址 maven { url "https://mvn.getui.com/nexus/content/repositories/releases/"}
,如下所示:
buildscript {
repositories {
mavenCentral()
google()
}
dependencies {
......
}
}
allprojects {
repositories {
mavenCentral()
google()
maven {
url "https://mvn.getui.com/nexus/content/repositories/releases/"
}
}
}
配置 SDK 依赖及应用参数:在 app/build.gradle
文件的 dependencies
块中引用个推 SDK
依赖 implementation 'com.getui:gtsdk:${version}'
,此处的 ${version}
为对应的 SDK 版本号,并在android.defaultConfig
下添加 manifestPlaceholders
,配置个推相关的应用参数, 如下所示:
......
android {
defaultConfig {
manifestPlaceholders = [
GETUI_APPID : "your appid",
]
}
......
}
dependencies {
implementation 'com.getui:oneid:1.0.6.0' //OneID SDK
implementation 'com.getui:gtc:3.2.17.0' //个推核心组件
}
AndroidManifest文件添加
</manifest>
//......
<queries>
<intent>
<action android:name="com.getui.sdk.action" />
</intent>
</queries>
//......
</manifest>
初始化 SDK,接收OneID
建议您在Application或首页的OnCreate方法中,初始化OneID,接收初始化结果。请参考下列代码实现初始化方法:
OneIDManager.getInstance().initialize(getApplicationContext(), new OneCallback() {
@Override
public void onSuccess(String response) {
//初始化成功,获取唯一id回调结果,唯一id样例:"A-xxxxxxxxfae28cfc4c63708xxxxxxxx", 前缀 A-表示Android系统(包括当前华为鸿蒙系统)
try {
JSONObject jsonObject = new JSONObject(response);
String oneAID = jsonObject.optString("oneAID");
Log.d("OneId", "oneId = " +oneAID);
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Throwable t) {
//初始化失败,错误信息回调
Log.d("OneID", "错误信息 = " + t.toString());
}
});
以上文档对您是否有帮助?