TrackingContent.ets 4.3 KB
import { ParamType } from '../common/PublicParams'
import { TrackConstants } from "../common/TrackConstants"
import { TrackingUtils } from '../common/TrackingUtils'
import { Tracking } from './Tracking'
import { PointerMatrix } from '@kit.TestKit'

export class TrackingContent {

  ///  内容曝光/内容点击 事件
  /// eventType  曝光 / 点击类型
  /// pageName 如果是统一业务值 见 TrackConstants
  /// pageId
  /// extParams 模型转换成字段参数传值   转换方法见 TrackParamConvert
  static common(eventType: TrackConstants.EventType, pageId: string, pageName: string, extParams?: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }
    if (eventType === TrackConstants.EventType.Click) {

      params["action"] = TrackConstants.ActionType.DetailPageShow
      TrackingUtils.fillPositionWith(params)
      Tracking.event("content_click", params)
    } else if (eventType === TrackConstants.EventType.Show) {

      params["action"] = TrackConstants.ActionType.Show
      TrackingUtils.fillPositionWith(params)
      Tracking.event("content_exposure", params)
    }else if(eventType === TrackConstants.EventType.CurrentNumberPanelContentExposure){
      params["action"] = TrackConstants.ActionType.Show
      TrackingUtils.fillPositionWith(params)
      Tracking.event(TrackConstants.ActionType.CurrentNumberPanelContentExposure, params)
    }
  }

  static commonShare(shareType: number, pageId: string, pageName: string, extParams?: ParamType) {

  }

  static like(like: boolean, pageId: string, pageName: string, extParams?: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }
    params["action"] = like ? TrackConstants.ActionType.Like : TrackConstants.ActionType.DisLike
    TrackingUtils.fillPositionWith(params)
    Tracking.event(like ? "content_like_click" : "content_cancel_like_click", params)
  }

  static collect(collect: boolean, pageId: string, pageName: string, extParams?: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }
    params["action"] = collect ? TrackConstants.ActionType.Collect : TrackConstants.ActionType.UnCollect
    TrackingUtils.fillPositionWith(params)
    Tracking.event(collect ? "content_collection_click" : "content_cancel_collection_click", params)
  }

  static follow(follow: boolean, followUserId: string, followUserName: string, pageId: string, pageName: string, extParams?: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }
    params[follow ? "followPDUserId" : "cancelFollowPDUseId"] = followUserId
    params[follow ? "followUserName" : "cancelFollowUserName"] = followUserName

    params["action"] = follow ? TrackConstants.ActionType.Follow : TrackConstants.ActionType.UnFollow
    TrackingUtils.fillPositionWith(params)

    /// 关注号主的,特殊处理下itemId字段,不用所在内容的推荐字段
    params["itemId"] = followUserId + "_author"
    Tracking.event(follow ? "follow_click" : "cancel_follow_click", params)
  }

  static commentClick(pageId: string, pageName: string, extParams?: ParamType) {
    TrackingContent.commentClickWithEvent("content_comment_click",pageId,pageName,extParams);
  }

  static commentClickWithEvent(event: string,pageId: string, pageName: string, extParams?: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }
    params["action"] =TrackConstants.ActionType.Comment
    TrackingUtils.fillPositionWith(params)
    Tracking.event(event, params)
  }

  static commentShare(pageId: string, pageName: string, extParams?: ParamType) {

  }

  // 内容下载点击事件  1.图片   2.音频  3.视频
  static download(donwloadContentType: number, pageId: string, pageName: string, extParams?: ParamType) {

  }

}