1.  禁用插件

在工程的gradle.properties中配置:

// 禁用插件
sensorsAnalytics.disablePlugin = true
// 启用插件
sensorsAnalytics.disablePlugin = false
GROOVY

表示插件是否禁用插件,默认值是 false。该配置仅适用于插件版本3.0.2及以上。如设置为 true ,将禁用插件,从而影响全埋点的点击事件以及 Fragment 的浏览事件。

2. 多线程编译

在工程的gradle.properties中配置:

// 禁用多线程编译
sensorsAnalytics.disableMultiThreadBuild = true
// 启用多线程编译
sensorsAnalytics.disableMultiThreadBuild = false
GROOVY

表示插件是否禁用多线程编译,默认值是 false。该配置仅适用于插件版本3.0.2 及以上。

3. 增量编译

在工程的 gradle.properties 中配置:

// 禁用增量编译
sensorsAnalytics.disableIncrementalBuild = true
// 启用增量编译
sensorsAnalytics.disableIncrementalBuild = false
GROOVY


表示插件是否禁用增量编译,默认值是 false。该配置仅适用于插件版本 3.0.2及以上。

4. 开启 Debug 模式

在主 Module 的 build.gradle中配置:

// 开启 Debug 模式
sensorsAnalytics {
   debug = true
}

// 关闭 Debug 模式
sensorsAnalytics {
   debug = false
}
GROOVY


表示插件是否开启 Debug 模式,默认值是 false。如果开启 Debug 模式,在编译期间会打印详细日志信息,比如插件当前正在处理哪个 jar、哪个 class、哪个 method等。

5. 启用黑名单/白名单

在主 Module 的 build.gradle 中配置:

// 启用白名单
sensorsAnalytics {
   useInclude = true
}

// 启用黑名单
sensorsAnalytics {
   useInclude = false
}
GROOVY

表示是启用黑名单还是白名单,默认值 false

useInclude = true,表示启用白名单,只处理 include 指定包含的 classpackage 和 jar
useInclude = false,表示启用黑名单,默认会全部处理,然后会排除 exclude 指定的 classpackagejar

6. 白名单

在主 Module 的 build.gradle中配置:

sensorsAnalytics {
   useInclude = true
   include = ['a.b.c', 'a.b.c.A']
}
GROOVY

白名单,可以通过 include 来指定处理哪些 classpackage

 如果要自动采集 Fragment的页面浏览事件,需要将父类是 Fragment`的类加入到白名单中。 例如:A 直接继承 FragmentB继承 A ,如果需要采集 B的 页面浏览事件,这个时候需要把 A 加入到白名单中,而不是 B

示例

sensorsAnalytics {
   useInclude = true
   include = ['demo.sensorsdata.com.sa_sdk_demo.viewpager_fragment','com.sensorsdata.analytics.android']
}
GROOVY

7. 黑名单

在主 Module 的 build.gradle中配置:

sensorsAnalytics {
   exclude = ['a.b.c', 'a.b.c.A']
}
GROOVY

黑名单,可以通过 exclude 来指定不处理哪些 classpackage,即不处理某个特定的类或包下面的所有类。

示例

sensorsAnalytics {
   exclude = ['demo.sensorsdata.com.sa_sdk_demo.viewpager_fragment','com.sensorsdata.analytics.android']
}
GROOVY

8. 是否处理 jar、aar

在主 Module 的 build.gradle中配置:

// 忽略 jar、aar 包扫描处理
sensorsAnalytics {
   disableJar = true
}

// 开启 jar、aar 包扫描处理
sensorsAnalytics {
   disableJar = false
}
GROOVY

表示插件是否处理 jaraar,默认值 false。如果开启使用黑名单,通过 disableJar = true可以一次性将所有的 jar 和 aar加入到黑名单里。

9. 是否支持 Lambda

在主 Module 的 build.gradle中配置:

// 开启 Lambda 处理
sensorsAnalytics {
   lambdaEnabled = true
}

// 关闭 Lambda 处理
sensorsAnalytics {
   lambdaEnabled = false
}
GROOVY

表示插件是否支持处理 Lambda ,默认值 true

10. 禁止获取 IMEI 号

在主 Module 的 build.gradle 中配置:

// 禁止获取 IMEI 号
sensorsAnalytics {
   sdk {
		disableIMEI = true
   }
}

// 开启获取 IMEI 号
sensorsAnalytics {
   sdk {
	   disableIMEI = false
   }
}
GROOVY


是否禁止 SDK 获取 IMEI 号,默认值为 false。该配置仅适用于插件版本 3.0.0及以上。如设置为 true , 将会影响到渠道追踪。

在 Android Grdle Plugin 3.2.0(Android Studio 3.2)以前的版本环境中使用该配置需要在 gradle.properties中手动打开脱糖配置。配置如下:
android.enableD8.desugaring = true

11. 禁止获取 MacAddress

在主 Module 的 build.gradle中配置:

// 禁止获取 MacAddress
sensorsAnalytics {
   sdk {
	   disableMacAddress = true
   }
}

// 开启获取 MacAddress
sensorsAnalytics {
   sdk {
	   disableMacAddress = false
   }
}
GROOVY

是否禁止 SDK 获取 MacAddress,默认值为 false。该配置仅适用于插件版本 3.0.0 及以上。如设置为 true , 将会影响渠道追踪。

在 Android Grdle Plugin 3.2.0(Android Studio 3.2)以前的版本环境中使用该配置需要在 gradle.properties中手动打开脱糖配置。配置如下:
android.enableD8.desugaring = true

12. 禁止获取 Android ID

在主 Module 的 build.gradle中配置:

// 禁止获取 Android ID
sensorsAnalytics {
   sdk {
	   disableAndroidID = true
   }
}

// 开启获取 Android ID
sensorsAnalytics {
   sdk {
	   disableAndroidID = false
   }
}
GROOVY

是否禁止 SDK 获取 Android ID,默认值为 false。该配置仅适用于插件版本 3.0.0及以上。如设置为 true, 将会影响到事件属性 $device_id以及渠道追踪。

在 Android Grdle Plugin 3.2.0(Android Studio 3.2)以前的版本环境中使用该配置需要在 gradle.properties中手动打开脱糖配置。配置如下:
android.enableD8.desugaring = true

13. 禁用 SDK 打印日志

在主 Module 的 build.gradle中配置:

// 禁用 SDK 日志打印
sensorsAnalytics {
   sdk {
	   disableLog = true
   }
}

// 开启 SDK 日志打印
sensorsAnalytics {
   sdk {
	   disableLog = false
   }
}
GROOVY

是否禁用 SDK 日志打印,默认值为 false。该配置仅适用于插件版本 3.0.0及以上。如设置为 true,SDK 将不会打印 Log 日志和异常日志。

在 Android Grdle Plugin 3.2.0(Android Studio 3.2)以前的版本环境中使用该配置需要在 gradle.properties中手动打开脱糖配置。配置如下:
android.enableD8.desugaring = true

14. 禁用 JavaScript 注入

在主 Module 的 build.gradle 中配置:

// 禁用 JavaScript 注入
sensorsAnalytics {
   sdk {
	   disableJsInterface = true
   }
}

// 开启 JavaScript 注入
sensorsAnalytics {
   sdk {
	   disableJsInterface = false
   }
}
GROOVY


是否禁用 SDK 中 JavaScript 注入相关代码,默认值为 false。该配置仅适用于插件版本 3.0.0及以上,如设置为 true ,将会影响 App 与 H5 打通。

在 Android Grdle Plugin 3.2.0(Android Studio 3.2)以前的版本环境中使用该配置需要在 gradle.properties中手动打开脱糖配置。配置如下:
android.enableD8.desugaring = true

15. 禁止获取运营商信息

在主 Module 的 build.gradle中配置:

// 禁止获取运营商信息
sensorsAnalytics {
   sdk {
	   disableCarrier = true
   }
}

// 开启获取运营商信息
sensorsAnalytics {
	sdk {
		disableCarrier = false
	}
}
GROOVY

是否禁止 SDK 获取运营商信息,默认值为 false。该配置仅适用于插件版本 3.0.1 及以上,如设置为 true ,将会无法采集到运营商信息。

在 Android Grdle Plugin 3.2.0(Android Studio 3.2)以前的版本环境中使用该配置需要在 gradle.properties中手动打开脱糖配置。配置如下:
android.enableD8.desugaring = true

16. 是否在方法前插入代码

默认值是 false

如需开启配置,在工程的 gradle.properties 中加入以下配置:

sensorsAnalytics.isHookOnMethodEnter = true
GROOVY

表示是否在方法前插入代码。该配置仅适用于插件版本 3.1.9及以上。