TrackingPlay.ets 4.95 KB
import { ParamType } from '../common/PublicParams';
import { TrackConstants } from '../common/TrackConstants';
import { TrackingUtils } from '../common/TrackingUtils';
import { Tracking } from './Tracking';
import { TrackingContent } from './TrackingContent';

/*
 * 处理音频、视频、直播 正片播放、播放结束、播放错误等
 * */
export class TrackingPlay {

  // 视频 正片播放
  static videoPositivePlay(prepareTime: number, pageId: string, pageName: string, extParams: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }
    params["timeConsuming"] = prepareTime

    params["action"] = TrackConstants.ActionType.DetailPageShow
    TrackingUtils.fillPositionWith(params)
    Tracking.event("video_positive_pybk", params)
  }

  // 视频 播放结束
  static videoPlayEnd(currentPlayTime: number, totalTime: number, browseTime: number, pageId: string, pageName: string, extParams: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }

    let playCompleted = currentPlayTime >= totalTime;
    params["pybkDuration"] = currentPlayTime
    params["completRate"] = playCompleted ? 1 : 0
    params["duration"] = browseTime

    params["action"] = TrackConstants.ActionType.Browse
    TrackingUtils.fillPositionWith(params)
    Tracking.event("video_end_pybk", params)
  }

  // 视频 播放错误
  static videoPlayError(errorInfo: 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["errorInformation"] = errorInfo
    params["action"] = TrackConstants.ActionType.DetailPageShow
    TrackingUtils.fillPositionWith(params)
    Tracking.event("pybk_error", params)
  }


  // 音频 正片播放
  static audioPositivePlay(prepareTime: number, pageId: string, pageName: string, extParams: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }
    params["timeConsuming"] = prepareTime

    params["action"] = TrackConstants.ActionType.DetailPageShow
    TrackingUtils.fillPositionWith(params)
    Tracking.event("audio_positive_pybk", params)
  }

  // 音频 播放结束
  static audioPlayEnd(currentPlayTime: number, totalTime: number, browseTime: number, pageId: string, pageName: string, extParams: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }

    let playCompleted = currentPlayTime >= totalTime;
    params["pybkDuration"] = currentPlayTime
    params["completRate"] = playCompleted ? 1 : 0
    params["duration"] = browseTime

    params["action"] = TrackConstants.ActionType.Browse
    TrackingUtils.fillPositionWith(params)
    Tracking.event("audio_end_pybk", params)
  }

  // 音频 播放错误
  static audioPlayError(errorInfo: 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["errorInformation"] = errorInfo
    params["action"] = TrackConstants.ActionType.DetailPageShow
    TrackingUtils.fillPositionWith(params)
    Tracking.event("audio_error", params)
  }


  // 直播 正片播放
  static liveVideoPositivePlay(prepareTime: number, pageId: string, pageName: string, extParams: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }
    params["timeConsuming"] = prepareTime

    params["action"] = TrackConstants.ActionType.DetailPageShow
    TrackingUtils.fillPositionWith(params)
    Tracking.event("live_positive_pybk", params)
  }

  // 直播 播放结束
  static liveVideoPlayEnd(currentPlayTime: number, totalTime: number, browseTime: number, pageId: string, pageName: string, extParams: ParamType) {
    let params = TrackingUtils.generateParams(extParams)
    if (pageId.length) {
      params["pageId"] = pageId
    }
    if (pageName.length) {
      params["pageName"] = pageName
    }

    let playCompleted = currentPlayTime >= totalTime;
    params["pybkDuration"] = currentPlayTime
    params["completRate"] = playCompleted ? 1 : 0
    params["duration"] = browseTime

    params["action"] = TrackConstants.ActionType.Browse
    TrackingUtils.fillPositionWith(params)
    Tracking.event("quit_live_click", params)
  }
}