帮助中心 > 技术文档 > 客户端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及以上版本。


注意:

  1. 海纳嗨数 Android SDK 支持maven集成、离线包集成;
  2. 海纳嗨数 Android SDK 要求最低系统版本为 API 21(Android 5.0);
  3. 海纳嗨数 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 modulemodule中,也可调用该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);
      }
    }

    注意:
    1、数据上报地址URL获取方式,请参考【数据上报地址获取】;
    2、更多初始化配置,请参考【SDK接入】;

作者:王建华  创建时间:2023-02-20 13:59
最后编辑:王建华  更新时间:2025-04-01 16:17