Tracking.ets 936 Bytes
import { Logger } from 'wdKit/Index';
import { TrackingModule } from '../TrackingModule';
import sensors from '@sensorsdata/analytics';
import { ParamType, PublicParams } from '../common/PublicParams';
import { HashMap } from '@kit.ArkTS';
import { TrackConstants } from '../common/TrackConstants';

const TAG = "WDTracking"

export class Tracking {

  static event(eventId: string, params?: ParamType) {

    if (!TrackingModule.getHasInit()) {
      Logger.warn(TAG, "还没有初始化 " + eventId + " " + JSON.stringify(params))
      return
    }

    //TODO: 添加运行单独线程?

    let publicParams = new PublicParams()
    publicParams.getPublicParams().then((pubParams) => {

      if (params) {
        for (const obj of Object.entries(params)) {
          // Logger.info(TAG, ` ${obj[0]} => ` + `${obj[1]}`);
          pubParams[obj[0]] = obj[1]
        }
      }
      sensors.track(eventId, pubParams)
    })
  }
}