移动应用分析
React Native 与 Expo
安装 @talivia/react-native,追踪原生应用页面、事件和已知用户。
使用 @talivia/react-native 追踪通过 React Native 或 Expo 构建的原生 iOS 与 Android 应用。Expo Web 请使用 Expo Web 安装指南。
安装
npm install @talivia/react-nativeExpo 项目还需安装存储和 UUID 适配器:
npx expo install @react-native-async-storage/async-storage expo-crypto初始化与追踪
import AsyncStorage from '@react-native-async-storage/async-storage';
import * as Crypto from 'expo-crypto';
import { Platform } from 'react-native';
import { Talivia } from '@talivia/react-native';
const analytics = new Talivia({
websiteId: 'YOUR_WEBSITE_UUID',
host: 'https://talivia.com',
hostname: 'example.com', // 使用网站域名,共享同一个工作区
platform: Platform.OS === 'ios' ? 'ios' : 'android',
storage: AsyncStorage,
uuid: prefix => `${prefix}_${Crypto.randomUUID()}`,
});
await analytics.init();
await analytics.screen('Home');
await analytics.track('signup_completed', { plan: 'pro' });
await analytics.identify('your-stable-user-id');
// 退出登录时:await analytics.reset();在 React Navigation 或 Expo Router 的导航变化回调中调用 screen()。仅在操作成功后调用 track()。原生 React Native 项目应提供适合自身应用的存储适配器和安全 UUID 生成器;运行环境支持 crypto.randomUUID 或 crypto.getRandomValues 时,无需显式提供 UUID 适配器。
仅在用户同意采集时初始化。网络恢复后,如果需要在下一个应用事件发生前重试队列中的事件,可调用 flush()。重试队列仅保存在内存中,最多容纳 100 个事件。
使用与网站相同的 Website ID 和域名,即可在 Talivia 工作区查看两种来源。稳定 ID 一致时,identify() 可关联已知账户身份记录;当前跨设备漏斗仍按访客标识统计。安装归因和购买不会自动采集。请从后端发送已验证收入。