# 初始化配置项API

初始化配置项 API 均在 SDK 初始化代码块中设置，下面将分类描述各配置项的含义。

**示例代码：**

```java
import android.app.Application;
​
import com.growingio.android.sdk.collection.Configuration;
import com.growingio.android.sdk.collection.GrowingIO;
import com.growingio.android.sdk.deeplink.DeeplinkCallback;
​
import java.util.Map;
​
public class TestApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        GrowingIO.startWithConfiguration(this, new Configuration()
                .disableCellularImp()
                .disableImageViewCollection(false)
                .setBulkSize(300)
                .setCellularDataLimit(10 * 1024 * 1024)
                .setChannel("渠道名")
                .setDebugMode(true)
                .setDeeplinkCallback(new DeeplinkCallback() {
                    @Override
                    public void onReceive(Map<String, String> params, int error, long appAwakePassedTime) {
                    }
                }).setDiagnose(false)
                .setDisabled(false)
                .setDisableImpression(false)
                .setFlushInterval(10 * 1000)
                .setMutiprocess(true)
                .setSampling(0.34)
                .setSessionInterval(23 * 1000)
                .setTestMode(true)
                .setThrottle(false)
                .setTrackWebView(true)
                .supportMultiProcessCircle(true)
                .trackAllFragments()
                .setImeiEnable(true)
                .setGoogleAdIdEnable(true)
                .setAndroidIdEnable(true)
                .setRequireAppProcessesEnabled(true)
                .setOAIDEnable(true)
                .setOAIDProvideConfig(OaidProvideConfig.provideOaid(
                        context -> "<Your Oaid>"
                )));
​
    }
}
```

## 基础配置API

| API          |  默认值  | 说明                                                                                                                | 无埋点SDK版本支持 | 埋点SDK版本支持 |
| ------------ | :---: | ----------------------------------------------------------------------------------------------------------------- | :--------: | :-------: |
| setDebugMode | false | 在Logcat中输出采集日志                                                                                                    |     ALL    |    ALL    |
| setTestMode  | false | <p>实时发送数据，开启则不遵循移动网络状态下数据发送大小默认 10 M 限制以及采集数据缓存 15 秒发送策略。</p><p>为了方便开发者查看日志，一般和<code>setDebugMode</code>一起使用。</p> |     ALL    |    ALL    |
| setChannel   |   无   | 设置App下载渠道                                                                                                         |     ALL    |    ALL    |
| useID        |  true | 是否在计算`xpath`时使用控件`id，`默认使用                                                                                        |   <2.6.0   |     -     |

| API                           | 默认值   | 说明                                                          | 无埋点SDK版本支持 | 埋点SDK版本支持 |
| ----------------------------- | ----- | ----------------------------------------------------------- | ---------- | --------- |
| setDeeplinkCallback           | 无     | DeepLink 回调接口，获得自定义参数以便跳转对应 APP页 面                          | >=2.3.2    | ALL       |
| setTrackWebView               | true  | 是否采集全部的`WebView,`设置为`false`时不采所有`WebView`数据                 | ALL        | -         |
| supportMultiProcessCircle     | false | 是否使用多进程圈选功能                                                 | ALL        | -         |
| setMutiprocess                | false | 使用了多进程必须配置，自定义事件和变量值才会多进程共享                                 | ALL        | ALL       |
| trackAllFragments             | false | 是否采集所有Fragment                                              | ALL        | -         |
| setHashTagEnable              | false | 在`WebView`中的页面访问，是否认为点击锚点链接是一个页面浏览                          | ALL        | -         |
| setHarmonyEnable              | false | 是否识别鸿蒙系统，默认不识别                                              | >=2.9.6    | >=2.9.6   |
| setReadClipBoardEnable        | false | 是否读取剪切板信息，默认不读取，设为 true 则 SDK 会读取 (SDK版本2.10.1开始，默认值为false) | >=2.9.8    | >=2.9.8   |
| setRequireAppProcessesEnabled | false | 是否获取多进程信息，默认不获取 (SDK版本2.10.1开始，默认值为false)                   | >=2.9.12   | >=2.9.12  |

## 数据采集发送API

| API                  | 默认值                  | 说明                                                                                                                                                  | 无埋点SDK版本支持 | 埋点SDK版本支持 |
| -------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | --------- |
| setDisabled          | false                | SDK 是否采集数据，设置为`true`时不采集数据                                                                                                                          | ALL        | ALL       |
| setSampling          | 1                    | 采样率\[0.01\~1],若设置sampling = 0.01，则 1% 的设备会被采集数据，每次启动会根据用户设置的采样率判断设备是否在采集的范围之内，**使用之前请咨询技术支持**                                                       | ALL        | ALL       |
| setSessionInterval   | 30 \* 1000           | 在后台停留时长超过此值，则产生新的`sessionId`,发送`visit`事件。                                                                                                           | ALL        | ALL       |
| setFlushInterval     | 15 \* 1000           | 数据刷新的最长时间间隔，默认 15 秒 。如果距离上次发送数据事件超过此时间则发送事件                                                                                                         | ALL        | ALL       |
| setThrottle          | false                | 是否节流发送，节流发送时`imp`不发送，不发送但是采集，`imp`为元素展示事件                                                                                                           | ALL        | -         |
| setDisableImpression | true                 | 是否采集`imp`事件，`imp`为元素展示事件，默认不采集`imp。需要`setDisableImpression(false)，同时服务端返回配置为true时才会采集。                                                              | >=2.8.11   | -         |
| disableCellularImp   | false                | 否关闭移动蜂窝网`imp`事件采集，`imp`为元素展示事件                                                                                                                      | ALL        | -         |
| setCellularDataLimit | 10 \* 1024 \* 1024   | 一天的时间之内，在移动蜂窝网下的数据最大传输量，默认 10 M。                                                                                                                    | ALL        | ALL       |
| setBulkSize          | 300                  | 如果数据库存储数据条数大于等于`bulkSize`，则马上发送数据。                                                                                                                  | ALL        | ALL       |
| setImeiEnable        | false                | 默认不采集，设置为 true 则 SDK 采集 `imei，`适用于**海外应用市场**上架的应用。 (SDK版本2.10.1开始，默认值为false)                                                                        | >=2.7.8    | >=2.7.8   |
| setAndroidIdEnable   | false                | 默认不采集，设置为 true 则 SDK 采集 `androidid` ，适用于**海外应用市场**上架的应用。 (SDK版本2.10.1开始，默认值为false)                                                                  | >=2.7.8    | >=2.7.8   |
| setGoogleAdIdEnable  | false                | 默认不采集，设置为 true 则 SDK 采集 `GoogleAdId` ，适用于**海外应用市场**上架的应用。 (SDK版本2.10.1开始，默认值为false)                                                                 | >=2.7.8    | >=2.7.8   |
| setOAIDEnable        | false                | 默认不采集，设置为 true 则 SDK 采集 `OAID` ， 国内[移动安全联盟MSA](http://www.msa-alliance.cn/col.jsp?id=120) 联合各大手机制造商推出了 OAID ， 作为唯一广告标识符。 (SDK版本2.10.1开始，默认值为false)  | >=2.8.5    | >=2.8.5   |
| setOAIDProvideConfig | OaidProvideConfig对象  | OaidProvideConfig.provideOaid() -> 手动提供OAID值 OaidProvideConfig.provideCert() -> 手动提供CERT值                                                           | >=2.9.11   | >=2.9.11  |
| setRunMode           | AccuracyPriorityMode | AccuracyPriorityMode 准确度优先：与老版本逻辑保持一致 PerformancePriorityMode 性能优先：放弃视图树遍历来标识manifest中gio-tag-相关view的imp采集，放弃未调用setOnFocusChangeListener的change事件采集 | >=2.10.2   | -         |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://growingio.gitbook.io/v3/developer-manual/sdkintegrated/android-sdk/android-sdk-api/init-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
