这个项目能做什么
# TelemetryDeck Kotlin SDK
一个用于从 Android 应用向 TelemetryDeck(一个隐私优先的分析平台)发送分析信号的 Kotlin 库。该 SDK 支持 Android API 23+ 和 Kotlin 2.3.x。
## 核心功能
**信号发送** — 调用 `TelemetryDeck.send("eventName")` 立即触发分析信号,或使用 `TelemetryDeck.signal("eventName")` 将其排队以便稍后传输。
**会话跟踪** — 自动检测新安装、测量会话时长,并计算留存指标(平均会话秒数、使用的不同天数、总会话数)。会话状态存储在设备本地,并在卸载时清除。
**用户身份** — 默认生成设备范围内的匿名标识符。支持通过 `defaultUser`(发送前哈希)或自定义 `TelemetryDeckIdentityProvider` 实现来设置自定义用户标识符。
**环境参数** — 自动为每个信号补充设备元数据(型号、操作系统、屏幕分辨率、方向、架构、品牌、时区)、应用元数据(版本、构建号)和 SDK 元数据。还捕获辅助功能设置(字体缩放映射到 iOS 大小类别、粗体文本、颜色反转、减少动态效果、深色/浅色方案)。
**导航信号** — 使用 `TelemetryDeck.navigate(source, destination)` 跟踪屏幕之间的用户流程,或在每次路径更改时调用它以实现自动路由跟踪。
**时长跟踪** — 启动和停止命名时长信号(`startDurationSignal` / `stopAndSendDurationSignal`),以测量在特定事件(如向导步骤)上花费的时间。
**获取帮助器** — 提供 `acquiredUser(channel)`、`leadStarted(leadId)` 和 `leadConverted(leadId)` 的便捷方法。
**日历参数** — 向每个传出信号附加星期几、月中的日、年中的周、季度、小时、周末标志等。
**购买跟踪** — `purchaseCompleted()` 记录应用内购买,包含市场国家代码和产品 ID。
**仅内存模式** — 在构建器上调用 `inMemoryOnly(true)` 可在不写入磁盘的情况下运行,适用于沙盒进程。每次启动时重新生成用户身份;此模式下新安装检测和留存指标不可用。
## 安装
添加到 `build.gradle`:
implementation 'com.telemetrydeck:kotlin-sdk:7.2.0'
向 `AndroidManifest.xml` 添加互联网权限:
uses-permission android:name="android.permission.INTERNET"
通过清单元数据或编程构建器配置:
val builder = TelemetryDeck.Builder()
.appID("YOUR-APP-ID")
.showDebugLogs(true)
.defaultUser("anonymous-user")
TelemetryDeck.start(applicationContext, builder)
## 提供程序与自定义
SDK 使用提供程序插件系统。内置提供程序包括 `EnvironmentParameterProvider`、`PlatformContextProvider`、`AccessibilityProvider`、`SessionTrackingSignalProvider` 和 `CalendarParameterProvider`。可通过 `DefaultParameterProvider`、`DefaultPrefixProvider` 添加自定义增强,或通过实现 `TelemetryDeckIdentityProvider`、`TelemetryDeckSessionManagerProvider` 和 `TelemetryDeckStorage` 实现自定义后端。
评论
0 评分人数达到10人后显示
登录后参与讨论。