SDK配置
帮助中心 > 技术文档 > 客户端SDK > Android SDK > SDK 配置
Android SDK 接入流程主要分为两个步骤(两个文档):
1、SDK配置:将对应的SDK集成到您的产品项目中,然后进行初始化代码处理;
2、SDK接入:将需要埋点的数据,按照SDK包装不同的方法进行数据上送,其中功能主要包含两大类:全埋点(自动采集数据上送)、自定义埋点(手动设置业务数据上送)。
注意:
- 在线maven集成、离线包集成均支持;
- Android SDK 要求最低系统版本为 API 21(Android 5.0);
- Android SDK (aar格式) 大小约为 0.3 MB。
1.集成说明
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.2'
...
}
}
// 或者使用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.2' 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.5'// 建议接入最新版本
...
}
1.2 离线包集成
1.2.1 配置插件
1、下载插件离线包(jar包):auto-plugin-版本.jar;资源下载
2、在项目根目录下,新建repo(自定义)目录,并把插件离线包拷贝到repo目录下;
3、在项目根目录下的build.gradle文件,配置使用本地gradle插件包,配置如下:
buildscript {
dependencies {
//注意:如果项目的gradle插件版本是4.0以前的,建议升级到4.0以上版本再集成;
classpath 'com.android.tools.build:gradle:4.1.3'
...
//添加 android-gradle-plugin 依赖
classpath files('./repo/插件离线包文件名.jar')
}
}
4、在项目主module目录下的build.gradle文件中配置应用插件;
apply plugin: 'com.android.application'
//配置应用插件
apply plugin: 'com.hinadt.hicloud.android'
android {
...
}
...
1.2.2 配置SDK
1、下载最新的SDK离线包(aar包):HinaCloudSDK-Android-版本.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 在 AndroidManifest.xml 中注册了以下四个权限,权限及解释说明如下:
<!-- 必须权限,允许应用访问网络,SDK 发送埋点数据需要此权限-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 必须权限,允许应用检测网络状态,SDK 会根据网络状态选择是否发送数据-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 可选权限,允许应用获取设备 IMEI,采用 App 内推广和采集运营商属性时会用到此权限-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 可选权限,允许应用获取 MAC 地址,采用 App 内推广时会用到此权限-->
<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() 方法中,按如下方式进行初始化;(注意需要在主线程初始化)
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);
}
}
注意:
1、采集上报地址URL获取方式,请参考【采集上报地址获取】;
2、更多初始化配置,请参考【SDK接入】;
最后编辑:王建华 更新时间:2024-10-31 14:08