TapCub 正式上线:统计、分析、客服一个平台免费用
帮助中心

怎么安装 Android SDK?

登记 applicationId,从 Maven Central 添加 com.tapcub:android,在 Application.onCreate 里初始化,启动、页面、点击和崩溃会自动采集。

应用统计2 分钟阅读最后更新 2026 年 11 月 6 日TapCub 团队

简短回答

在 应用统计 › 配置 › SDK 代码 登记应用的 applicationId,在 App 模块里加 implementation("com.tapcub:android:0.1.1"),在 Application.onCreate 里调用 TapCub.preInit(this, TapCubConfig(siteKey = "YOUR_SITE_KEY")),用户同意隐私政策后再调用 TapCub.init()。之后启动、Activity 页面、点击和崩溃都会自动采集。到 应用统计 › 概览 › 实时 看头一条 $app_start。

SDK 用 Kotlin 编写,Java 也能调用;最低 minSdk 21,只声明 INTERNET 权限,不依赖 AndroidX。

1. 登记应用标识

打开 应用统计 › 配置 › SDK 代码,点「添加应用标识」,填入 Android 的 applicationId,比如 com.example.shop。SDK 每次上报都会带上它,未登记的标识发来的数据会被静默拒收。这个页面还会给出填好站点 Key 的安装代码。

2. 添加依赖

在 app/build.gradle.kts 里:

dependencies {
    implementation("com.tapcub:android:0.1.1")
}

包发布在 Maven Central。控制台安装代码里的坐标如果不同,以控制台为准。ProGuard / R8 规则已打包在 AAR 里,不用另外添加。

3. 初始化

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        TapCub.preInit(this, TapCubConfig(siteKey = "YOUR_SITE_KEY"))
    }
}

// 用户同意隐私政策之后
TapCub.init()
  • preInit 只保存配置、绑定生命周期:不采集、不读设备信息、不联网。它必须在 Application.onCreate 里调用,否则冷启动和头一个页面会丢。
  • init 开始采集。在用户同意后调用;如果你的 App 不需要同意这一步,紧接着 preInit 调用即可。
  • appId、appVersion、appBuild 默认取包名、versionName 和 versionCode。appId 必须和登记的标识一致。
  • 国内模式设 region = "cn",同意后调用 init,再调用 TapCub.grantConsent(listOf("analytics"))。

所有调用在任意线程都会立即返回,实际工作在 SDK 自己的工作线程上执行。

4. 自动采集的内容

事件来源关闭方式
$app_start / $app_end、会话前后台切换不可关
$screen_viewActivity onResume;名字取 @TapCubScreen("Order"),否则取类名autoTrackScreens = false
$app_click点击处最深的可点击 View;输入框内容从不记录autoTrack = false
$app_crashedJava 未捕获异常(下次启动上报);Android 11+ 另含原生崩溃crashReport = false
$anrAndroid 11+,带 tracecrashReport = false

Fragment、Jetpack Compose 页面和对话框不会自动采集:出现时调用 TapCub.trackScreen("Home")。见追踪屏幕浏览。

5. 发送事件和识别用户

TapCub.track("purchase", mapOf("revenue" to 19.9, "currency" to "CNY"))

TapCub.login("USER_ID")            // 登录后
TapCub.setProps(mapOf("plan" to "pro"))
TapCub.logout()                    // 退出登录时

项目不是实名模式时 login 会被忽略,事件照常上报。见识别用户。

6. 验证

在真机或模拟器上运行 App,打开 应用统计 › 概览 › 实时,几秒内应能看到启动事件。没有数据时,按下面几点排查。

隐私和存储

事件队列存在 SQLite 里(默认 8 MB、1 万条或 7 天),重启后保留,失败按退避重试。设备 ID 基于 ANDROID_ID;不读取 IMEI、MAC、OAID 或广告 ID。填写 Google Play 数据安全表单时,声明设备或其他 ID、应用互动、崩溃日志和诊断数据。

排查

  • 完全没有数据: applicationId 没登记,或者从没调用 init(比如用户还没同意)。
  • 缺冷启动: preInit 晚于 Application.onCreate 调用。
  • 缺页面: Fragment 或 Compose 页面需要调用 trackScreen。
  • 启动时报 siteKey required 崩溃: 站点 Key 为空。
  • 对某个用户停止采集: 调用 TapCub.optOut(),optIn() 恢复。

相关

更新记录1
  1. 更新更新内容
  2. 首次发布

这篇回答解决你的问题了吗?

我们会根据反馈修改和补充这篇内容。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie