React Native SDK
AntDock React Native SDK 为 React Native 应用提供完整的数据追踪能力。
SDK 获取方式
使用控制台提供的安装地址或下载包;本文不表示 SDK 已在公共仓库开源发布。
安装
将 SDK 源码文件复制到您的 React Native 项目中:
- 下载
sdk/react-native/src/目录下的所有文件 - 复制到项目的
src/lib/antdock/目录 - 安装依赖:
@react-native-async-storage/async-storage
npm install @react-native-async-storage/async-storage
iOS 需要安装 pods:
cd ios && pod install
初始化
// App.tsx
import { AntDockTracker } from './lib/antdock'
AntDockTracker.init({
appId: 'your-app-id',
endpoint: 'https://你的域名',
batchSize: 10,
flushInterval: 5000,
debug: false
})
API 参考
trackPageView(path, properties?)
追踪页面访问。
AntDockTracker.trackPageView('/home')
AntDockTracker.trackPageView('/product/detail', {
product_id: '12345'
})
trackEvent(name, properties?)
追踪自定义事件。
AntDockTracker.trackEvent('button_click')
AntDockTracker.trackEvent('purchase', {
order_id: 'ORD-12345',
amount: 99.99
})
identify(userId, traits?)
识别用户身份。
await AntDockTracker.identify('user_123', {
email: 'user@example.com',
name: '张三'
})
flush()
立即发送队列中的数据。
reset()
重置用户身份。
React Navigation 集成
import { NavigationContainer, useNavigationContainerRef } from '@react-navigation/native'
import { NavigationTracker } from './lib/antdock'
export default function App() {
const navigationRef = useNavigationContainerRef()
return (
<NavigationContainer
ref={navigationRef}
onReady={() => NavigationTracker.setNavigationRef(navigationRef)}
onStateChange={() => NavigationTracker.onStateChange()}
>
{/* screens */}
</NavigationContainer>
)
}
Hooks
import { useTracking } from './lib/antdock'
function MyComponent() {
const { trackEvent, trackPageView } = useTracking()
return (
<Button onPress={() => trackEvent('button_click')} title="Click" />
)
}
配置选项
interface AntDockConfig {
appId: string // 必填
endpoint: string // 必填
batchSize?: number // 默认 10
flushInterval?: number // 默认 5000 (ms)
debug?: boolean // 默认 false
}
要求
- React Native 0.64+
- iOS 12.0+
- Android 5.0 (API 21)+