argos-tracker
Version:
A lightweight frontend tracking SDK for data collection and reporting
99 lines (98 loc) • 1.98 kB
TypeScript
import { TrackerConfig, UserInfo } from './types';
/**
* Argos 埋点追踪器
*/
export declare class ArgosTracker {
private config;
private storage;
private reporter;
private collector;
private eventQueue;
private batchTimer;
private isInitialized;
constructor(config: TrackerConfig);
/**
* 初始化追踪器
*/
private init;
/**
* 追踪自定义事件
*/
track(eventName: string, properties?: Record<string, any>): void;
/**
* 追踪页面访问
*/
trackPageView(properties?: Record<string, any>): void;
/**
* 追踪用户行为
*/
trackUserAction(actionName: string, properties?: Record<string, any>): void;
/**
* 设置用户信息
*/
setUser(userInfo: UserInfo): void;
/**
* 清除用户信息
*/
clearUser(): void;
/**
* 立即上报所有待上报事件
*/
flush(): Promise<void>;
/**
* 更新配置
*/
updateConfig(newConfig: Partial<TrackerConfig>): void;
/**
* 销毁追踪器
*/
destroy(): void;
/**
* 追踪事件(内部方法)
*/
private trackEvent;
/**
* 处理自动收集的事件
*/
private handleAutoEvent;
/**
* 添加事件到队列
*/
private addToQueue;
/**
* 调度批量发送
*/
private scheduleBatchSend;
/**
* 发送事件
*/
private sendEvents;
/**
* 恢复待上报事件
*/
private restorePendingEvents;
/**
* 设置页面卸载时的处理
*/
private setupBeforeUnload;
/**
* 输出日志
*/
private log;
/**
* 获取当前配置
*/
getConfig(): TrackerConfig;
/**
* 获取当前用户ID
*/
getUserId(): string | undefined;
/**
* 获取当前会话ID
*/
getSessionId(): string;
/**
* 重新生成会话ID
*/
renewSession(): string;
}