跳到主要内容

统计埋点

本页介绍如何用 @unif/react-native-umeng 记录 U-App 移动统计 —— 自定义事件与账号登录 / 登出埋点。

三个方法都是同步 void,不要 await

Analytics.onEvent / signIn / signOut 没有返回 Promise,直接同步调用即可。await 一个 undefined 没有意义。


自定义事件

import { Analytics } from '@unif/react-native-umeng';

Analytics.onEvent('login'); // 无参数
Analytics.onEvent('share_click', { source: 'detail' }); // 字符串参数
Analytics.onEvent('page_view', { page: 'home', duration: 30 }); // 含数字参数
参数类型说明
eventIdstring事件 ID(需与友盟后台配置一致)
paramsRecord<string, string | number>?事件属性,可选
数字参数自动字符串化

params 里 value 为 number 时会自动 String() 转成字符串 —— 友盟 iOS 的 attributes 强制要求 NSString。所以 { duration: 30 } 上报时是 "30",你不必手动转。


账号登录埋点

Analytics.signIn('user-123', 'WX'); // provider 可选
参数类型说明
userIdstring业务用户 ID
providerstring?登录方式标识,如 'WX' / 'DD'

账号登出埋点

Analytics.signOut();

易错点:不要 await Analytics.*

// ❌ Incorrect:它们是同步 void,await 一个 undefined 没意义
await Analytics.onEvent('login');
const ok = await Analytics.signIn('user-123'); // ok 永远是 undefined
// ✅ Correct:直接同步调用
Analytics.onEvent('login');
Analytics.signIn('user-123', 'WX');
Analytics.signOut();

采集需先 Common.init()

Analytics.* 的数据上报依赖 Common.init() 已调过。若 init 未执行(用户未同意《隐私协议》),调用不会崩溃,但数据不会上报。两段式合规见隐私合规(PIPL)

相关