Android 传统 View 自动点击采集
AutoTrack 是可选的实验能力。启用构建插件并安装运行时后,符合条件的传统 View 点击可生成 $app_click,无需为每个已覆盖的目标手动调用点击 API。采集仍受 SDK 授权与策略控制;它不代表覆盖所有控件或业务操作。
Compose、iOS SwiftUI 和 UIKit 使用原生 UI 集成中的显式绑定。订单或支付结果应在业务结果确定后单独记录。
安装
从下载中心获取 Android 离线包,并按 Android 快速接入配置本地 Maven 仓库。构建插件、AutoTrack 运行时和核心 SDK 使用相同版本。
在项目级 build.gradle.kts 中,为构建插件配置包内 Maven 仓库和 classpath:
buildscript {
repositories {
maven { url = uri("/absolute/path/to/track-business-android-sdk-1.0.0/maven") }
google()
mavenCentral()
}
dependencies {
classpath("com.trackbusiness:track-business-android-gradle-plugin:1.0.0")
}
}在应用模块 build.gradle.kts 中应用插件并添加运行时:
apply(plugin = "com.trackbusiness.android.autotrack")
dependencies {
implementation("com.trackbusiness:track-business-sdk-android-autotrack:1.0.0")
}构建插件与应用依赖的仓库配置分别生效;Android Gradle Plugin、Kotlin 和其他构建依赖由宿主提供。当前离线包不提供插件 DSL marker,请使用上面的 classpath 方式。
启用和释放
创建 SDK 后,在进程级位置安装一次,并持有返回的句柄;SDK 不再使用时关闭句柄:
val autoTrackBinding = TrackBusinessAutoTrack.install(
sdk,
TrackBusinessAutoTrack.Options(
allowedActivityNames = setOf(MainActivity::class.java.name),
ignoredResourceNames = setOf("sensitive_button"),
),
)
// 不再使用该 SDK 实例时
autoTrackBinding.close()需要导入 com.trackbusiness.sdk.autotrack.TrackBusinessAutoTrack。上面的 Activity 与资源名是示例,请按实际应用配置。默认不按时间窗口合并连续点击;如主动配置非零窗口,窗口内同一 View 的真实快速点击也可能被合并。
覆盖和验证
当前支持直接实现 View.OnClickListener 的部分监听器,以及符合当前插件识别规则的部分 Java/Kotlin Lambda。方法引用、跨类目标、反射、XML android:onClick、Compose 和第三方封装不能假定被覆盖。请在实际 App 的 Debug 和 Release 构建中验证目标。
- 启用满足业务要求的授权和采集策略,确认 AutoTrack 已安装。
- 分别点击需要验证的控件,检查接收端是否出现对应
$app_click;一次操作应对应一次点击事件。 - 连续操作两次,核对是否收到两个不同的事件。若事件缺失,检查目标是否被插件覆盖、是否在允许的 Activity 内,以及授权、策略和忽略配置。
- 不要在同一目标同时使用自动采集和手动
recordAppClick。从旧版本升级后,原先手动记录的 Lambda 目标可能开始被自动采集;应移除手动点击记录,或在ignoredResourceNames中排除目标,再复验。
TrackBusinessAutoTrack.metrics() 可辅助区分被忽略、限流或过滤的候选;其中 accepted 只是通过 AutoTrack 自身过滤,不代表已入队或被服务端接收。接收验证见数据验证。
插件不读取控件文本、表单值或标签。资源名、类名和页面名也应使用不含敏感信息的稳定标识。