SDK配置
帮助中心 > 技术文档 > 客户端SDK > Android SDK > SDK 配置
海纳嗨数 Android SDK 接入流程主要分为两个步骤(两个文档):
1、SDK配置:将对应的SDK集成到您的产品项目中,然后进行初始化代码处理;
2、SDK接入:将需要埋点的数据,按照SDK包装不同的方法进行数据上送,其中功能主要包含两大类:全埋点(自动采集数据上送)、自定义埋点(手动设置业务数据上送)。
3、您需要确保 App 有《隐私政策》,并且在用户首次启动 App 时就弹出《隐私政策》取得用户同意。
4、您务必确保用户同意《隐私政策》后,再初始化海纳嗨数 SDK。
5、您需要告知用户您 App 集成了海纳嗨数 SDK。
6、您的应用必需集成海纳嗨数 SDK v4.1.6及以上版本。
注意:
- 海纳嗨数 Android SDK 支持maven集成、离线包集成;
- 海纳嗨数 Android SDK 要求最低系统版本为 API 21(Android 5.0);
- 海纳嗨数 Android SDK (aar格式) 大小约为 0.3 MB。
1.海纳嗨数 SDK集成说明
1.1 在线maven集成
1.1.1 配置仓库
Gradle 7.0 以下,在项目根目录下的build.gradle文件中配置maven地址;
buildscript {
repositories {
mavenCentral()
//配置maven地址
maven { url 'https://repo1.maven.org/maven2/' }
...
}
dependencies {
...
}
}
allprojects {
repositories {
mavenCentral()
//配置maven地址
maven { url 'https://repo1.maven.org/maven2/' }
...
}
}
Gradle 7.0 及以上,在 setting.gradle 中配置maven地址;
// setting.gradle 中
pluginManagement {
repositories {
// 配置maven地址
maven { url 'https://repo1.maven.org/maven2/' }
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
// 配置maven地址
maven { url 'https://repo1.maven.org/maven2/' }
google()
mavenCentral()
}
}
1.1.2 配置插件
在项目根目录下的build.gradle文件中配置插件依赖:
buildscript {
dependencies {
...
//添加SDK插件依赖
classpath 'com.hinadt.hicloud.android:auto-plugin:4.0.3'
...
}
}
// 或者使用DSL方式集成插件
plugins {
id 'com.android.application' version '8.1.0' apply false
id 'com.android.library' version '8.1.0' apply false
//添加SDK插件依赖
id 'com.hinadt.hicloud.android' version '4.0.3' apply false
}
在项目主module目录下的build.gradle文件中配置应用插件;
apply plugin: 'com.android.application'
//配置应用插件
apply plugin: 'com.hinadt.hicloud.android'
android {
...
}
1.1.3 配置SDK
在项目主module目录下的build.gradle文件中配置SDK依赖;
apply plugin: 'com.android.application'
android {
...
}
dependencies {
...
//配置SDK依赖
implementation 'com.hinadt.hicloud.android:HinaCloudSDK:4.1.7'// 建议接入最新版本
...
}
1.2 离线包集成
1、下载最新的SDK离线包(aar包):资源中心
2、在项目的app module,或者library module目录下,新建libs目录,并把SDK离线包拷贝到libs目录下;
3、SDK离线包拷贝后,所在的module的build.gradle文件,进行配置依赖,具体配置如下:
...
android {
...
}
//配置依赖目录
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
// implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])//添加所有
...
// 配置依赖
implementation(name: 'xxx', ext: 'aar') //只允许在依赖aar文件的module下调用该aar文件
或
api (name:'xxx',ext:'aar') //在其他依赖该library module的module中,也可调用该aar文件
注意:如果是组件module,除了需要改用api配置依赖,还需要额外配置,方式有两种:
方式一:
在其它所有直接或间接依赖该library module的module中配置build.gradle文件如下:
repositories {
flatDir {
dirs '../xxx/libs','libs' //将xxx替换为引入aar文件的module名
}
}
方式二:
在project的build.gradle文件中统一配置如下::
allprojects {
repositories
flatDir {
dirs project(':xxx').file('libs') //将xxx替换为引入aar文件的module名
}
}
}
2. 权限配置说明
<!-- 必须权限,允许应用访问网络,海纳嗨数SDK 发送埋点数据需要此权限-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 必须权限,允许应用检测网络状态,海纳嗨数SDK 会根据网络状态选择是否发送数据-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 可选权限,在Android11 及以上系统版本获取网络类型 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
注意:如果想要去除 SDK 注册的权限,可以使用 tools:node=”remove” 配置,比如:
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
3. 初始化SDK
在 Application 的 onCreate() 方法中,按如下方式进行初始化;(注意需要在主线程初始化)
应在最早的时机,进行SDK初始化;
延迟初始化SDK,会导致全埋点采集不准确;
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); //应在最早的时机,进行SDK初始化; //延迟初始化SDK,会导致全埋点采集不准确; initHinaCloudSDK(); ... } private void initHinaCloudSDK() { HinaConfig hinaConfig = new HinaConfig.Builder() .enableLog(true) .setServerUrl("数据上报地址") .build(); // SDK 初始化 HinaCloudSDK.init(application, hinaConfig); } }
最后编辑:王建华 更新时间:2025-04-01 16:17