使用文档

Android SDK

AntDock Android SDK 使用 Kotlin 编写,支持 Android 5.0 (API 21)+。

SDK 获取方式

使用控制台提供的安装地址或下载包;本文不表示 SDK 已在公共仓库开源发布。

安装

将 SDK 源码文件复制到您的 Android 项目中:

  1. 下载 sdk/android/src/main/kotlin/io/antdock/tracker/ 目录下的所有 Kotlin 文件
  2. 在项目中创建对应的包目录 io.antdock.tracker
  3. 将文件复制到该目录,并更新包名为 io.antdock.tracker

依赖

在 build.gradle.kts 中添加必要依赖:

dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
    implementation("com.squareup.okhttp3:okhttp:4.12.0")
    implementation("androidx.lifecycle:lifecycle-process:2.6.2")
}

初始化

在 Application 类中初始化:

class MyApplication : Application() {

    override fun onCreate() {
        super.onCreate()

        AntDockTracker.initialize(
            context = this,
            config = AntDockConfig(
                appId = "your-app-id",
                endpoint = "https://你的域名",
                autoTrack = true,
                batchSize = 10,
                flushIntervalMs = 5000,
                debug = false
            )
        )
    }
}

在 AndroidManifest.xml 中注册:

<manifest>
    <application
        android:name=".MyApplication"
        ...>
    </application>

    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

API 参考

trackPageView(path, properties?)

追踪页面访问。

AntDockTracker.trackPageView("/home")

AntDockTracker.trackPageView("/product/detail", mapOf(
    "product_id" to "12345"
))

trackEvent(name, properties?)

追踪自定义事件。

AntDockTracker.trackEvent("button_click")

AntDockTracker.trackEvent("purchase", mapOf(
    "order_id" to "ORD-12345",
    "amount" to 99.99
))

identify(userId, traits?)

识别用户身份。

AntDockTracker.identify("user_123", mapOf(
    "email" to "user@example.com",
    "name" to "张三"
))

flush()

立即发送队列中的数据。

reset()

重置用户身份。

Activity 追踪

自动追踪

启用 autoTrack 后,SDK 会通过 ActivityLifecycleCallbacks 自动追踪。

手动追踪

class ProductDetailActivity : AppCompatActivity() {

    override fun onResume() {
        super.onResume()
        AntDockTracker.trackPageView("/product/${intent.getStringExtra("product_id")}")
    }
}

配置选项

AntDockConfig(
    appId = "your-app-id",
    endpoint = "https://你的域名",
    autoTrack = true,
    enableCrashReport = false,
    batchSize = 10,
    flushIntervalMs = 5000,
    debug = false
)

混淆配置

如果使用 ProGuard/R8:

-keep class io.antdock.tracker.** { *; }

要求

  • Android 5.0 (API 21)+
  • Kotlin 1.8+