- 平台介绍
- 接入指引
- 版本信息
- 使用流程
- 功能手册
- 操作视频
- 技术文档
- 基础知识
- 客户端SDK
- 服务端SDK
- 数据导入
- API功能
- SQL手册
- DML
- SQL函数
- 日期函数
- convert_tz
- curdate,current_date
- current_timestamp
- curtime,current_time
- date_add
- date_format
- date_sub
- datediff
- day
- dayname
- dayofmonth
- dayofweek
- dayofyear
- from_days
- from_unixtime
- hour
- makedate
- minute
- month
- monthname
- now
- second
- str_to_date
- time_round
- timediff
- timestampadd
- timestampdiff
- to_date
- to_days
- unix_timestamp
- utc_timestamp
- week
- weekday
- weekofyear
- year
- yearweek
- localtime,localtimestamp
- quarter
- last_day
- extract
- date_trunc
- minutes_add
- minutes_diff
- minutes_sub
- seconds_add
- seconds_diff
- seconds_sub
- hours_add
- hours_diff
- hours_sub
- days_add
- days_diff
- days_sub
- weeks_add
- weeks_diff
- weeks_sub
- months_add
- months_diff
- months_sub
- years_add
- years_diff
- years_sub
- 字符串函数
- append_trailing_char_if_absent
- to_base64
- from_base64
- ascii
- length
- bit_length
- char_length
- lpad
- rpad
- lower
- lcase
- upper
- ucase
- initcap
- repeat
- reverse
- char
- concat
- concat_ws
- substr
- substring
- sub_replace
- ends_with
- starts_with
- trim
- ltrim
- rtrim
- null_or_empty
- not_null_or_empty
- hex
- unhex
- elt
- instr
- locate
- find_in_set
- replace
- left
- right
- strleft
- strright
- split_part
- split_by_string
- substring_index
- money_format
- parse_url
- convert_to
- extract_url_parameter
- uuid
- space
- sleep
- 日期函数
- 数据类型
- 数据管理
- 常见问题
- 合规说明
- 资源下载
- AB测试
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.1'// 建议接入最新版本
...
}
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-09-05 21:06