UNPKG

asd-javascript-sdk

Version:

official analysysAgent javascript sdk

136 lines (112 loc) 5 kB
/** * sdk配置参数类型 */ export interface initConfig { appkey: string; uploadURL: string; debugMode?: 0 | 1 | 2; name?: string; //设置 JS SDK 全局对象别名 autoStartUp?: boolean;//是否自动采集startUp auto?: boolean; //是否自动采集pageview pageProperty?: object; //设置自动采集时页面自定义属性 pageViewBlackList?: any; //设置自动采集页面统计黑名单 autoProfile?: boolean; encryptType?: number; allowTimeCheck?: boolean; //设置是否开启时间校准 maxDiffTimeInterval?: number; //设置最大时间校准分 autoPageViewDuration?: boolean; //设置是否开启页面关闭事件自动采集 sendDataTimeout?: number; // 上报超时时间 hash?: boolean; //设置检测 url hash 变化: sendType?: 'img' | 'post'; //设置上传日志方式 crossSubdomain?: boolean; //设置在二级域名下存储cookie visitorConfigURL?: string; //(若使用可视化埋点,则必须) 设置可视化配置获取接口 SDKFileDirectory?: string; //设置可视化模块SDK与热图模块SDK存放目录 getDataTimeout?: number; //设置获取可视化埋点列表的超时时间 autoTrack?: boolean; // autoClickBlackList?: string | (() => boolean) | Array<string>; //设置全埋点统计黑名单 userClickProperty?: any | object | (() => boolean); //设置全部或某个全埋点元素自定义属性 trackList?: Array<string> | ((path: string) => boolean); //设置除默认可输出元素外的可触控元素列表 autoHeatmap?: boolean; //设置是否启用热图数据采集,即在产品当中可使用热图分析功能 autoWebstay?: boolean; //在开启热图功能(autoHeatmap设置为true)后,设置是否追踪页面滚动行为,即在产品当中可分析页面浏览深度 webstayDuration?: number; //设置追踪页面滚动行为时,最大停留时长 heatMapBlackList?: string; //设置热图统计黑名单 exposure?: { valid_time: number; element_list: () => void | Array<any>; exposure_click: boolean; property: object | (() => void); multiple: boolean | number }; isHybrid?: Boolean; beforePageView?: ((res:buriedPointData, setAttrs: Function) => boolean); //pageView上报之前钩子,若返回false,则终止pageView上报 beforePageClose?: ((res:buriedPointData, setAttrs: Function) => boolean); //pageClose上报之前钩子,若返回false,则终止pageView上报 beforeTrack?: ((res:buriedPointData, setAttrs: Function) => boolean); //track之前的钩子,参数为当前上报的数据对象,若返回false,就会终止track上报 beforeInit?: ((config:initConfig, next: Function) => Promise<any>); //通知sdk客户端程序已经准备就绪了,你可以开始工作了 } /** * 埋点数据类型 */ export interface xcontextValue { $url?: string; $is_login?: boolean; } // 上报数据格式 export interface buriedPointData { appid: string; xwho: string; xwhat: string; xwhen: number; xcontext: xcontextValue; } // 日志提示类型 export interface msgetype { key?: string value?: any code: string | number fn?: string keyType?: string } // 请求入参 export interface requestOptions { url: string; data?: any; method?: string; header?: object; timeout?: number; success?: Function; error?: Function; } type distinctId = string type attrs = {[key:string]: any} type superAttrs = attrs type eventAttrs = attrs type userAttrs = attrs type presetAttrs = attrs declare class arkSdk { config: initConfig; init(config: initConfig): void; pageView(pageTitle: string, pageProperties: object): buriedPointData; track(eventName: string, eventAttrs: eventAttrs): buriedPointData; timeEvent(eventName: string): void; alias(aliasId: string, callback?: () => void): void; identify(distinctId: distinctId, callback?: () => void): void; getDistinctId(callback?: (distinctId: distinctId) => void): distinctId; registerSuperProperty(attrKey: string, attrValue: any, callback?: (attrs: superAttrs) => void): void; registerSuperProperties(attrs: superAttrs, callback?: (attrs: superAttrs) => void): void; getSuperProperty(attrName: string, callback?: (attrs: superAttrs) => void): superAttrs; getSuperProperties(callback?: (attrs: superAttrs) => void): superAttrs; unRegisterSuperProperty(attrName: string, callback?: (attrs: superAttrs) => void): void; clearSuperProperties(callback?: (attrs: superAttrs) => void): void; pageProperty(attrs: attrs): void; profileSetOnce(attrs: userAttrs): void; profileSet(attrs: userAttrs): void; profileAppend(attrKey: string, attrValue: any): void; profileIncrement(attrs: userAttrs): void; profileDelete(): void; profileUnset(attrName: string): void; getPresetProperties(callback?: (attrs: presetAttrs) => void): presetAttrs; reset(callback?: () => void): void; updateCache(callback?: () => void): void; } export const AnalysysAgent: arkSdk export default AnalysysAgent