Skip to content

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

参数类型必填说明
eventstring事件名(建议 snake_case 命名)
propertiesRecord<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,
    },
  })
}

基于 OpenSumi IDE 构建