type GlobalProperty = Record; type EventParams = Record; /** * SDK正式初始化 * @param appKey QuickTracking后台提供的唯一key值,请勿泄露给第三方 * @param channel 下载渠道 * @description 请务必在用户同意隐私政策后,再初始化SDK,务必调用。 * !!! * 1. SDK的初始化需要在用户同意隐私政策后,再初始化SDK,务必调用。 * 2. 且必须在主线程中调用,iOS端强依赖主线程, Android端建议在主线程中初始化SDK,否则可能会导致数据不准确。 * 3. 调用初始化SDK能力之前,需要调用 setTrackDomain 方法设置收数域名。 */ export declare function init(appKey: string, channel: string): void; /** * SDK预初始化方法 * @param appKey QuickTracking后台提供的唯一key值,请勿泄露给第三方 * @param channel 下载渠道 * @description 仅Android端需要预初始化方法 * 1. 预初始化方法可以在用户同意隐私政策之前调用。 * 2. 请在主线程中完成预初始化方法的调用 */ export declare function preInit(appKey: string, channel: string): void; /** * 设置SDK的收数域名 * @param mainTrackDomain SDK的主收数域名,例如:https://log.quicktracking.cn * @param subTrackDomain SDK的副收数域名,例如:https://log.quicktracking.cn * @description 设置SDK的收数域名, 调用SDK init 初始化API之前需要先设置收数域名。 */ export declare function setTrackDomain(mainTrackDomain: string, subTrackDomain: string): void; /** * SDK开启日志 * @param enable 日志开关 * @description SDK日志开关 */ export declare function enableLog(enable: boolean): void; /** * 页面浏览事件埋点-打开页面 * @param pageName 页面编码 */ export declare function onPageStart(pageName: string): void; /** * 页面浏览事件埋点-离开页面 * @param pageName 页面编码 */ export declare function onPageEnd(pageName: string): void; /** * 上传页面属性 * @param pageName 页面编码 * @param params 对当前事件的参数描述,定义为“参数名:参数值”的“<键-值>”对 */ export declare function uploadPageProperties(pageName: string, params: EventParams): void; /** * 自定义事件埋点 * @param eventId 当前统计的事件编码 * @param params 对当前事件的参数描述,定义为“参数名:参数值”的“<键-值>”对 * @param pageName 当前统计事件的页面编码 */ export declare function sendEvent(eventId: string, params?: EventParams, pageName?: string): void; /** * 桥接事件埋点 * @param data H5转发事件的日志体 */ export declare function sendEventForH5(data: string): void; /** * 注册一个全局事件属性 * @param property 要注册的全局属性 * @description * 注册全局属性后,后续触发的所有事件都将自动包含这些属性; * 且这些属性及属性值存入缓存,APP退出后清除。 * 在分析数据时,可根据此属性进行查看和筛选。 */ export declare function registerGlobalProperty(gp: GlobalProperty): void; /** * 删除一个全局事件属性 * @param propertyName 要删除的全局事件属性名,只支持大小写字母、数字及下划线 */ export declare function unregisterGlobalProperty(propertyName: string): void; /** * 根据Key获取单个全局属性 * @param propertyName 属性名,只支持大小写字母、数字及下划线! */ export declare const getGlobalProperty: (propertyName: string) => Promise; /** * 获取所有的全局事件属性, 返回包含所有全局事件属性的JSONObject */ export declare const getGlobalProperties: () => Promise; /** * 清空全部全局事件属性。 */ export declare const clearGlobalProperties: () => void; /** * 账号登录时调用此接口,用于统计应用自身的账号 * @param ID 用户账号ID,长度小于64字节 * @param provider */ export declare const profileSignIn: (ID: string, Provider?: string) => void; /** * 账号登出时需调用此接口,调用之后不再发送账号相关内容。 */ export declare const profileSignOff: () => void; /** * 设置应用版本 */ export declare const setAppVersion: (version: string, versionCode: number) => void; /** * 关闭SDK */ export declare const disableSDK: () => void; /** * 开启SDK */ export declare const enableSDK: () => void; /** * 自定义设备ID */ export declare const setCustomDeviceId: (deviceId: string) => void; /** * 读取设备ID */ export declare const getDeviceId: () => Promise; /** * 处理URL链接(iOS端) * @param url 要处理的URL字符串 * @description 对应 ObjC: [QTMobClick handleUrl:url],用于处理Universal Link、Scheme等链接 */ export declare const handleUrl: (url: string) => void; /** * 开始事件计时 * @param eventName 事件名称,不能为空 * @description 若需要统计某个事件的持续时间,先在事件开始时调用 eventTimerStart 记录事件开始时间,该方法并不会真正发送事件;随后在事件结束时,调用 eventTimerEnd 进行上报数据。时间单位为毫秒。 * @returns 返回eventId/timerID,用于后续暂停、恢复或结束计时操作 */ export declare const eventTimerStart: (eventName: string) => Promise; /** * 设置计时事件的自定义属性 * @param timerId 事件的timerId,必须与eventTimerStart返回的timerId一致 * @param properties 自定义属性字典,可以为null * @description 为指定的计时事件设置自定义属性,在事件结束上报时会携带这些属性信息。必须在调用 eventTimerStart 之后调用才有效。 */ export declare const setTimerProperties: (timerId: string, properties?: EventParams) => void; /** * 暂停事件计时 * @param timerId 事件的 timerId,必须与eventTimerStart返回的timerId一致 * @description 暂停指定事件的计时,可以多次暂停和恢复计时,时间会累加计算。多次调用 eventTimerPause 时,只有首次有效,后续调用会被忽略。 */ export declare const eventTimerPause: (timerId: string) => void; /** * 恢复事件计时 * @param timerId 事件的 timerId,必须与eventTimerStart返回的timerId一致 * @description 恢复已暂停事件的计时,继续累计事件持续时间。多次调用 eventTimerResume 时,只有首次有效,后续调用会被忽略。 */ export declare const eventTimerResume: (timerId: string) => void; /** * 结束事件计时 * @param timerId 事件的 timerId,必须与eventTimerStart返回的timerId一致 * @description 结束指定事件的计时并上报数据,上报的数据包含事件名称和累计的持续时间。多次调用 eventTimerEnd 时,以首次调用为准,后续调用会被忽略。 */ export declare const eventTimerEnd: (timerId: string) => void; /** * 设置事件时长数据落库时间间隔 * @param interval 毫秒,默认是15秒 */ export declare const setEventTimeInterval: (interval: number) => void; /** * 设置后台时长采集模式 * @param mode 后台时长采集模式 * - 0: Disabled 关闭 (不采集后台时长) * - 1: Automatic 自动管理(由系统通知自动处理) * - 2: Manual 手动管理(需开发者显式调用 API 触发) * @description 开启后台计时的开关,默认关闭 */ export declare const setBackgroundForegroundMode: (mode: number) => void; /** * 设置后台事件时间状态(仅手动模式下生效) * @param isBackground 是否处于后台状态 * - false/0: 进入前台,暂停所有的后台计时器 * - true/1: 进入后台,开启/恢复所有的后台计时器 * @description 仅在手动管理模式下生效 */ export declare const setBackgroundEventTimeState: (isBackground: boolean) => void; export {}; //# sourceMappingURL=index.d.ts.map