以下是有关在 Android 上使用视频测量解决方案测量视频的一些信息。
在视频播放过程中,会向此服务发送频繁的“心率”调用,以测量播放的时间。这些心率调用每 10 秒发送一次,从而生成精细的视频参与量度和更准确的视频流失报表。有关 Adobe 视频测量解决方案的更多信息,请参阅在 Adobe Analytics 中测量音频和视频。
在所有平台中,测量视频的常规过程都非常相似。本文中的内容提供了开发人员任务概述以及代码示例。下表列出了发送到 Analytics 的媒体数据。处理规则用于将上下文数据映射到 Analytics 变量。
a.media.name
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");
要测量视频播放,需要在适当时调用 mediaPlay
、mediaStop
和 mediaClose
方法。例如,暂停播放器时,调用 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);