osmos-web-sdk
Version:
OnlineSales.ai Web SDK for Vue and React projects
87 lines • 2.73 kB
TypeScript
export interface TrackingEvent {
eventType: string;
timestamp?: number;
[key: string]: any;
}
export declare class TrackingService {
private httpClient;
private eventTrackingHost;
private clientId;
private cliUbid?;
private enableTracking;
private fireDefaultPixel;
private trackingParams?;
private searchKeywordKey;
private customQueryParams?;
private queryToParamMapping;
private urlToParamMapping;
private videoView;
private defaultTrackSeconds;
private debugMode;
constructor(eventTrackingHost: string, clientId: number, options?: {
cliUbid?: string | number;
enableTracking?: boolean;
fireDefaultPixel?: boolean;
trackingParams?: (() => Record<string, any>) | Record<string, any>;
searchKeywordKey?: string;
customQueryParams?: (() => Record<string, any>) | Record<string, any>;
queryToParamMapping?: Record<string, string>;
urlToParamMapping?: Record<string, string>;
videoView?: number;
defaultTrackSeconds?: number[];
debugMode?: boolean;
});
/**
* 发送跟踪事件
*/
trackEvent(event: TrackingEvent): Promise<void>;
/**
* 跟踪产品查看事件
*/
trackProductView(skuId: string, additionalData?: Record<string, any>): Promise<void>;
/**
* 跟踪添加到购物车事件
*/
trackAddToCart(skuId: string, quantity?: number, additionalData?: Record<string, any>): Promise<void>;
/**
* 跟踪购买事件
*/
trackPurchase(skuIds: string[], total: number, additionalData?: Record<string, any>): Promise<void>;
/**
* 跟踪广告点击事件
*/
trackAdClick(adId: string, adUnit: string, additionalData?: Record<string, any>): Promise<void>;
/**
* 跟踪视频观看事件
*/
trackVideoView(videoId: string, duration: number, additionalData?: Record<string, any>): Promise<void>;
/**
* 跟踪搜索事件
*/
trackSearch(keyword: string, resultsCount?: number, additionalData?: Record<string, any>): Promise<void>;
/**
* 跟踪页面浏览事件
*/
trackPageView(pageName: string, additionalData?: Record<string, any>): Promise<void>;
/**
* 获取跟踪参数
*/
private getTrackingParams;
/**
* 获取自定义查询参数
*/
private getCustomQueryParams;
/**
* 从URL获取搜索关键词
*/
getSearchKeyword(): string | null;
/**
* 从URL映射参数
*/
getMappedParams(): Record<string, string>;
/**
* 发送默认像素
*/
fireDefaultTrackingPixel(): Promise<void>;
}
//# sourceMappingURL=tracking-service.d.ts.map