Android 全埋点插件配置文档

最后更新于:2019-06-28 19:05:09

1. 禁用插件

在工程的 gradle.properties 中配置:

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

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

2. 多线程编译

在工程的 gradle.properties 中配置:

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

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

3. 增量编译

在工程的 gradle.properties 中配置:

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

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

4. 开启 Debug 模式

在主 Module 的 build.gradle 中配置:

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

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

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

请注意:Debug 模式是为方便开发者调试而设置的模式,该模式会逐条校验数据并在校验失败时抛出异常,性能远低于正常模式。线上环境使用 Debug 模式会严重影响性能并存在崩溃风险,产品上线前请务必替换掉/关闭 Debug 模式。

5. 启用黑名单/白名单

在主 Module 的 build.gradle 中配置:

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

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

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

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

6. 白名单

在主 Module 的 build.gradle 中配置:

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

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

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

示例

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

7. 黑名单

在主 Module 的 build.gradle 中配置:

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

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

示例

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

8. 是否处理 jar、aar

在主 Module 的 build.gradle 中配置:

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

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

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

9. 是否支持 Lambda

在主 Module 的 build.gradle 中配置:

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

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

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

10. 禁止获取 IMEI 号

在主 Module 的 build.gradle 中配置:

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

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

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

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

android.enableD8.desugaring = true

11. 禁止获取 MacAddress

在主 Module 的 build.gradle 中配置:

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

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

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

Android Grdle Plugin 3.2.0Android 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
   }
}

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

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

android.enableD8.desugaring = true

13. 禁用 SDK 打印日志

在主 Module 的 build.gradle 中配置:

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

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

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

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

android.enableD8.desugaring = true

14. 禁用 JavaScript 注入

在主 Module 的 build.gradle 中配置:

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

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

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

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

android.enableD8.desugaring = true

15. 禁止获取运营商信息

在主 Module 的 build.gradle 中配置:

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

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

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

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

android.enableD8.desugaring = true