Appearance
埋点统计
字数统计:约 7000 字
难度等级:⭐⭐⭐
面试重要度:⭐⭐⭐
1. 简介
埋点用于追踪用户行为:
- 页面访问
- 按钮点击
- 转化漏斗
- 用户留存
2. 埋点方案
2.1 代码埋点
kotlin
object Analytics {
fun trackEvent(name: String, properties: Map<String, Any> = emptyMap()) {
// 发送到分析平台
FirebaseAnalytics.getInstance(context)
.logEvent(name, bundleOf(*properties.map { it.key to it.value }.toTypedArray()))
}
fun trackPageView(pageName: String) {
trackEvent("page_view", mapOf("page" to pageName))
}
fun trackButtonClick(buttonName: String) {
trackEvent("button_click", mapOf("button" to buttonName))
}
}
// 使用
Analytics.trackPageView("Home")
Analytics.trackButtonClick("Login")2.2 自动埋点
kotlin
// 使用 AspectJ 自动埋点
@Aspect
class AnalyticsAspect {
@Around("execution(* com.example.app.ui.*.onClick*(..))")
fun trackClick(joinPoint: ProceedingJoinPoint) {
val view = joinPoint.args[0] as View
Analytics.trackButtonClick(view.contentDescription.toString())
joinPoint.proceed()
}
}3. 常见平台
- Firebase Analytics
- 神策数据
- GrowingIO
- 友盟+
4. 面试考点
Q: 埋点方案?
- 代码埋点(精确)
- 自动埋点(全面)
- 可视化埋点(易用)
本文完