Analytics — 埋点分析
提供事件上报、自动分析和通知管理能力。
API 参考
woo.recordEvent(options)
上报自定义事件。ts
// 基础事件上报
await woo.recordEvent({ event: 'page_view' })
// 携带属性
await woo.recordEvent({
event: 'button_click',
properties: {
button_id: 'checkout_btn',
page: 'cart',
item_count: 3,
},
})
// 购买转化
await woo.recordEvent({
event: 'purchase_complete',
properties: {
order_id: 'ORDER_12345',
amount: 299.00,
currency: 'CNY',
item_ids: ['SKU_001', 'SKU_002'],
},
})Options
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
event | string | ✅ | 事件名(建议 snake_case 命名) |
properties | Record<string, any> | ❌ | 事件属性(支持字符串、数字、布尔、数组) |
woo.enableAutoAnalytics(options?)
开启自动埋点(页面 PV、停留时长、点击热图等)。ts
// 通常在应用启动时调用一次
await woo.enableAutoAnalytics()woo.enableNotification(options?)
请求通知权限并开启推送。ts
await woo.enableNotification()woo.disableNotification(options?)
关闭推送通知。最佳实践
事件命名规范:
| 事件类型 | 示例命名 |
|---|---|
| 页面浏览 | page_view_${page_name} |
| 按钮点击 | click_${button_id} |
| 表单提交 | form_submit_${form_name} |
| 错误上报 | error_${error_type} |
| 业务转化 | purchase_complete, register_success |
封装统一上报函数:
ts
// utils/track.ts
import woo from 'mini-sdk'
import { getRoute } from './route'
export function track(event: string, properties?: Record<string, any>) {
const { path } = woo.getRoute()
return woo.recordEvent({
event,
properties: {
page: path,
timestamp: Date.now(),
...properties,
},
})
}