使用 JavaScript 3.x 跟踪核心播放

重要

本文档介绍 3.x 版本的 SDK 中的跟踪。如果您实施的是 SDK 之前的版本,可以在此处下载开发人员指南:下载 SDK

  1. 初始跟踪设置

    识别用户何时触发播放意图(用户点击“播放”和/或自动播放开启)并创建 MediaObject 实例。

    createMediaObject API

    变量名称 类型 描述
    name 字符串 表示媒体名称的非空字符串。
    id 字符串 表示唯一媒体标识符的非空字符串。
    length 数字 正数,表示媒体长度(秒)。如果长度未知,则使用 0 表示。
    streamType 字符串
    mediaType 媒体类型(音频或视频)。

    StreamType常量:

    常量名称 描述
    VOD 点播视频的流类型。
    AOD 点播音频的流类型。

    MediaType常量:

    常量名称 描述
    Audio 音频流的媒体类型。
    Video 视频流的媒体类型。
    var mediaObject = ADB.Media.createMediaObject(<MEDIA_NAME>,
                                      <MEDIA_ID,
                                      <MEDIA_LENGTH>,
                                      <STREAM_TYPE>,
                                      <MEDIA_TYPE>);
    
  2. 附加元数据

    (可选)通过上下文数据变量将标准和/或自定义元数据附加到跟踪会话。

    • 标准元数据

      注意

      附加标准元数据是可选操作。

    • 自定义元数据

      为自定义变量创建变量对象,然后使用此媒体的数据进行填充。例如:

      /* Set context data */
       var contextData = {};
      
       //Standard metadata
       contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode";
       contextData[ADB.Media.VideoMetadataKeys] = "Sample Show";
      
       //Custom metadata
       contextData["isUserLoggedIn"] = "false";
       contextData["tvStation"] = "Sample TV Station";
      
  3. 跟踪开始播放的意图

    要开始跟踪媒体会话,请在媒体心率实例中调用 trackSessionStart

    var mediaObject = ADB.Media.createMediaObject("video-name",
                                                  "video-id",
                                                  60.0,
                                                  ADB.Media.StreamType.VOD,
                                                  ADB.Media.MediaType.Video);
    
    var contextData = {};
    
    //Standard metadata
    contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode";
    contextData[ADB.Media.VideoMetadataKeys] = "Sample Show";
    
    //Custom metadata
    contextData["isUserLoggedIn"] = "false";
    contextData["tvStation"] = "Sample TV Station";
    
    tracker.trackSessionStart(mediaObject, contextData);
    
    重要

    trackSessionStart 跟踪的是用户的播放意图,而不是播放的开始。此 API 用于加载数据/元数据并评估开启 QoS 量度的时间(trackSessionStarttrackPlay 之间的持续时间)。

    注意

    如果不使用 contextData,则只需在 trackSessionStart 中为 data 参数发送一个空对象。

  4. 跟踪播放的实际开始事件

    识别媒体播放器中的播放开始事件(媒体的第一帧呈现在屏幕上)并调用 trackPlay

    tracker.trackPlay();
    
  5. 跟踪播放的结束事件

    识别媒体播放器中的播放结束事件(用户一直观看至内容的结尾)并调用 trackComplete

    tracker.trackComplete();
    
  6. 跟踪会话的结束事件

    识别媒体播放器中的播放卸载/关闭事件(用户关闭媒体和/或媒体已结束并卸载)并调用 trackSessionEnd

    tracker.trackSessionEnd();
    
    重要

    trackSessionEnd 标记跟踪会话的结尾。如果会话成功观看至结束(用户一直观看内容至结尾),请确保先调用 trackComplete,之后再调用 trackSessionEnd。在调用 trackSessionEnd 之后,任何其他 track* API 调用都将被忽略(除了用于新的跟踪会话的 trackSessionStart 之外)。

  7. 跟踪所有可能的暂停方案

    识别媒体播放器中的暂停事件并调用 trackPause

    tracker.trackPause();
    

    暂停方案

    识别媒体播放器将会暂停的任何方案,并确保正确调用了 trackPause。以下方案均要求应用程序调用 trackPause()

    • 用户在应用程序中明确点击暂停。
    • 播放器将其置于“暂停”状态。
    • 移动应用程序)- 用户将应用程序放入后台,但您希望应用程序保持会话打开。
    • 移动应用程序)- 发生导致应用程序被置于后台运行的任何类型的系统中断。例如,用户接到电话,或其他应用程序出现弹出窗口,但您希望应用程序保持会话的活动状态,以便用户有机会从中断点恢复媒体。
  8. 识别播放器中的播放事件和/或在暂停后继续播放的事件并调用 trackPlay

    tracker.trackPlay();
    
    小贴士

    这可能与步骤 4 中所使用的事件源相同。请确保当播放继续时,每个 trackPause() API 调用均与随后的一个 trackPlay() API 调用相配对。

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now