Realsee Telemetry
Realsee Telemetry 是一个用于收集和上报用户行为数据的遥测 SDK。
安装
npm install @realsee/telemetry
yarn add @realsee/telemetry
基础使用
import { setConfig, pushEvent } from '@realsee/telemetry';
setConfig({
env: 'production',
appKey: 'your-app-key',
data: {
userId: 'xxx',
projectId: 'xxx',
},
});
pushEvent({
id: 'click_button',
data: { buttonId: 'submit' },
});
完整配置说明
import { RealseeTelemetryConfig } from '@realsee/telemetry';
interface RealseeTelemetryConfig {
env: 'production' | 'development' | 'test' | 'sandbox';
appKey: string;
i18n?: boolean;
enableFps?: boolean;
fpsInterval?: number;
fpsThreshold?: number;
reportQps?: number;
reportQpsMap?: Record<string, number>;
enableQpsLog?: boolean;
eventsWithFullSession?: Array<string | number>;
query?: Record<string, unknown>;
data?: Record<string, unknown>;
autoInitFiveEvent?: boolean;
logger?: boolean;
disabled?: boolean;
}
使用示例
基础配置
import { setConfig } from '@realsee/telemetry';
setConfig({
env: 'production',
appKey: 'your-app-key',
data: {
userId: 'user_123',
projectId: 'proj_456',
},
query: {
version: '1.0.0',
platform: 'web',
},
});
QPS 限制配置
setConfig({
reportQps: 5,
reportQpsMap: {
'five.stateChange': 10,
'dnalogel-modelView.stateChange': 3,
'custom.click': 20,
},
enableQpsLog: true,
});
FPS 监控配置
setConfig({
enableFps: true,
fpsInterval: 10,
fpsThreshold: 50,
});
完整 Session 数据配置
setConfig({
eventsWithFullSession: [
'five.stateChange',
'five.modeChange',
'dnalogel-modelView.stateChange',
'custom.important_action',
],
});
自定义事件上报
import { pushEvent } from '@realsee/telemetry';
pushEvent({
id: 'button_click',
name: 'ButtonClick',
data: {
buttonId: 'submit',
position: { x: 100, y: 200 },
},
});
pushEvent({
id: 'page_view',
name: 'PageView',
data: {
pageId: 'home',
duration: 5000,
},
});
事件命名规则
遥测系统中的事件名称遵循以下规则:
-
Five SDK 事件
- 格式:
five.${eventName}
- 示例:
five.stateChange
five.modeChange
five.panoLoaded
-
Dnalogel 插件事件
- 格式:
dnalogel-${pluginName}.${eventName}
- 示例:
dnalogel-modelView.stateChange
dnalogel-floorplan.click
-
自定义事件
- 格式:
custom.${eventId}
- 示例:
custom.1234
custom.button_click
custom.page_view
注意事项
-
QPS 限制
- 每个事件都受 QPS 限制
- 优先使用
reportQpsMap
中的配置 - 未配置时使用全局
reportQps
-
数据大小
-
错误处理
- SDK 内部会处理上报失败
- 可通过
logger
配置查看详细日志
调试
启用日志输出以便调试:
setConfig({
logger: true,
env: 'development',
});
类型定义
完整的类型定义请参考:
RealseeTelemetryConfig
EventData
WebSocketServerCommandData