Video Analytics

以下是有关在 Android 上使用视频测量解决方案测量视频的一些信息。

小贴士

在视频播放过程中,会向此服务发送频繁的“心率”调用,以测量播放的时间。这些心率调用每 10 秒发送一次,从而生成精细的视频参与量度和更准确的视频流失报表。有关 Adobe 视频测量解决方案的更多信息,请参阅在 Adobe Analytics 中测量音频和视频

在所有平台中,测量视频的常规过程都非常相似。本文中的内容提供了开发人员任务概述以及代码示例。下表列出了发送到 Analytics 的媒体数据。处理规则用于将上下文数据映射到 Analytics 变量。

将播放器事件映射到 Analytics 变量

  • a.media.name

    • 变量类型:eVar
      • 默认过期:访问
      • 自定义分析(s.prop,用于确定视频路径)
    • 必需)当访客以某种方式查看视频时,此上下文数据变量将按照实施中指定的方式收集视频名称。您可以为此变量添加分类。
    • 可选)自定义分析变量可提供视频路径信息。
  • a.media.name

    • 变量类型:自定义分析 (s.prop)

    • 可选)提供视频路径信息。

      重要

      必须由 ExpCare 为此变量启用路径。

    • 事件类型:自定义分析 (s.prop)

  • a.media.segment

    • 变量类型:eVar

    • 默认过期:页面查看

    • 必需)收集视频区段数据,包括区段名称以及区段在视频中出现的顺序。

      此变量在自动跟踪播放器事件时通过启用 segmentByMilestones 变量来填充,或在手动跟踪播放器事件时通过设置自定义区段名称来填充。例如,当访客查看视频中的第一个区段时,SiteCatalyst 可能会在区段 eVar 中收集以下信息:1:M:0-25

      默认的视频数据收集方法会在以下节点收集数据:

      • 视频开始(播放)
      • 区段开始
      • 视频结束(停止)

      Analytics 会在访客开始观看时,将区段的开始计为第一个区段视图。在区段开始播放后,则计为后续区段视图。

  • a.contentType

    • 变量类型:eVar

    • 默认过期:页面查看

    • 收集访客查看的内容类型相关数据。

      由视频测量发送的点击量将被分配内容类型 video。从视频测量的角度来看,内容类型​使您能够识别视频访客,并计算视频转化率。

  • a.media.timePlayed

    • 变量类型:事件
    • 类型:计数器
    • 以秒为单位,计算自上次数据收集流程(图像请求)以来观看视频所花费的时间。
  • a.media.view

    • 变量类型:事件

    • 类型:计数器

    • 表明访客已查看了视频的某些部分。

      但是,它并不提供有关访客查看了视频中的多少内容或哪一部分的信息。

  • a.media.segmentView

    • 变量类型:事件

    • 类型:计数器

    • 表明访客已查看了视频区段的某些部分。

      但是,它并不提供有关访客查看了视频中的多少内容或哪一部分的信息。

  • a .media.complete

    • 变量类型:事件

    • 类型:计数器

    • 表明用户已查看了完整的视频。

      默认情况下,完整的事件会在视频结束前 1 秒进行测量。在实施过程中,您可以指定希望在距离视频结束还剩多少秒时被视为已完成观看。对于直播视频和其他没有明确定义结束时间的流,您可以指定一个自定义的点来测量完成情况(例如,当观看了指定时间后即可认为已看完视频)。

配置媒体设置

使用您要用于跟踪视频的设置配置 MediaSettings 对象:

MediaSettings mySettings = Media.settingsWith("name", 10, "playerName", "playerId");

跟踪播放器事件

要测量视频播放,需要在适当时调用 mediaPlaymediaStopmediaClose 方法。例如,暂停播放器时,调用 mediaStop。开始或继续播放时,调用 mediaPlay

类:MediaSettings

public String name; 
public String playerName; 
public String playerID; 
public double length; 
public String channel; 
public String milestones; 
public String offsetMilestones; 
public boolean segmentByMilestones; 
public boolean segmentByOffsetMilestones; 
public int trackSeconds = 0; 
public int completeCloseOffsetThreshold = 1; 
 
// MediaAnalytics Ad settings 
public String parentName; 
public String parentPod; 
public String CPM; 
public double parentPodPosition; 
public boolean isMediaAd;

类:MediaState

public Date openTime = new Date(); 
public String name; 
public String segment; 
public String playerName; 
public String mediaEvent; 
public int offsetMilestone; 
public int segmentNum; 
public int milestone; 
public double length; 
public double offset; 
public double percent; 
public double timePlayed; 
public double segmentLength; 
public boolean complete = false; 
public boolean clicked = false; 
public boolean ad; 
public boolean eventFirstTime;

媒体测量类和方法引用

以下是媒体测量类中的方法:

  • settingsWith

    通过指定的参数返回 MediaSettings 对象。

    • 以下是此方法的语法:

      public static MediaSettings adSettingsWith(String name, double length, String playerName, String parentName, String parentPod, double parentPodPosition, String CPM);
      
    • 以下是此方法的代码示例:

      MediaSettingsmySettings = Media.settingsWith("name", 10, "playerName", "playerId");
      
  • adSettingsWith

    返回用于跟踪广告视频的 MediaSettings 对象。

    • 以下是此方法的语法:

      public static MediaSettings adSettingsWith(String name, double length, String playerName, String parentName, String parentPod, double parentPodPosition, String CPM);
      
  • open

    打开 MediaSettings 对象以进行跟踪。

    • 以下是此方法的语法:

      public static void open(MediaSettings settings, MediaCallback callback); 
      
    • 以下是此方法的代码示例:

      Media.open(mySettings, new Media.MediaCallback() { 
        @Override 
        public void call(Object item)
        {//  monitor  callback  if  you  want  to  be  notified  every  second  the  media  is  playing  }
        }); 
      
    • close

      关闭名为“name”**​的媒体项目。

      • 以下是此方法的语法:
      public static void close(String name);
      
    • 以下是此方法的代码示例:

      Media.close("name"); 
      
  • play

    • 在给定的“offset”​时间(以秒为单位)播放名为“name”​的媒体项目。

    • 以下是此方法的语法:

      publicstatic void play(String name, double offset); 
      
  • complete

    在提供的“offset”**​时间(以秒为单位)将媒体项目手动标记为完成。

    • 以下是此方法的语法:

      public static void complete(String name, double offset); 
      
    • 以下是此方法的代码示例:

      Media.complete("name", 0); 
      
  • stop

    通知媒体模块已在给定的“offset”**​时间停止或暂停视频。

    • 以下是此方法的语法:

      public static void stop(String name, double offset); 
      
    • 以下是此方法的代码示例:

      Media.stop("name", 0);
      
  • click

    通知媒体模块已单击媒体项目。

    • 以下是此方法的语法:

      public static void click(String name double offset); 
      
    • 以下是此方法的代码示例:

      Media.click("name", 0);
      
  • track

    发送用于获取当前媒体状态的跟踪操作调用(无页面查看)。

    • 以下是此方法的语法:

      publicstatic void track(String name, Map<String, Object> data); 
      
    • 以下是此方法的代码示例:

      Media.track("name", null); 
      

在此页面上

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