VAST广告组件
Fire App Builder 支持 VAST 广告模板(视频广告投放模板)。VAST 是一种支持不同视频广告商的标准协议。互动广告局(IAB)对VAST的描述如下:
IAB 数字视频广告投放模板 (VAST) 规范是一种通用 XML 架构,用于向数字视频播放器投放广告,它描述了视频播放器在执行 VAST 格式的广告响应时的预期行为。VAST 3.0 增加了关键功能,开辟了插播数字视频广告市场,减少了昂贵的技术壁垒,鼓励广告商增加视频广告支出。数字视频广告投放模板 (VAST) 3.0
例如,如果您想在应用程序中展示 DoubleClick 广告,则可以通过 VAST 广告组件来实现。
VAST 支持范围
VAST 的 Fire App Builder 集成不包括对整个 VAST 规范(非常庞大)的支持。Fire 应用程序构建器仅支持一部分 VAST 功能。此外,Fire App Builder中的VAST集成尚未获得IAB的正式认证。
支持的 VAST 功能
Fire App Builder 为 V AST 3.0 和 VMAP 广告提供广告标签支持。具体而言,Fire 应用程序生成器支持以下所有功能:
- 播放 VAST 2.0 和 3.0 模式的片前广告、片中广告和片后广告
- 线性广告
- 解析 VMAP 广告标签
(VMAP — 视频多广告播放列表 — 包含对其他广告标签的引用。VMAP 广告引用的广告标签可以是 VAST 格式或其他专有格式。Fire 应用程序生成器仅支持解析 VAST 格式。如果你想支持其他格式,你可以扩展 VAST 组件来支持它。)
不支持 VAST 功能
Fire 应用程序构建器不支持以下 VAST 功能:
- 非线性广告,例如可跳过的线性广告素材、配套广告或非线性广告
- 广告中的任何互动
- 302 个重定向
追踪事件
在播放线性视频广告期间,VAST 组件会触发以下事件:
- Impressions(曝光量)
- 错误
- 开始(25%、中期、75% 和完成)
- 广告插播广告
在视频广告期间,用户可以播放、暂停和点击播放的基于 Vast 的广告事件。
下表列出了该组件对各种事件的特定支持:
追踪事件 | 支持 |
---|---|
创意视图 |
否 |
start |
是 |
中点 |
是 |
第一四分位数 |
是 |
第三四分位数 |
是 |
已完成 : |
是 |
中断启动 |
是 |
打破 |
是 |
error |
是 |
静音 | 否 |
取消静音 |
否 |
pause |
否 |
rewind |
否 |
resume |
否 |
全屏 |
否 |
expand : |
否 |
崩溃 |
否 |
接受邀请 |
否 |
close |
否 |
VAST 广告的用户体验
假设你配置了前置广告,在用户点击 “立即观看” 按钮后,VAST 广告模板会在短时间内投放广告。

视频广告完成后,用户选择的媒体开始播放。
配置 VAST 广告
- 将 VAST 广告组件加载到您的应用程序中。有关如何将组件加载到应用中的详细信息,请参阅加载组件。
-
移除应用程序中加载的任何其他广告组件(例如 FreeWheeladsCompnent 或 PassThroughAdsComponent)。有关详细信息,请参见添加或移除组件。
注意: 每个接口只能加载一个组件。例如,您无法同时加载 VAST 广告组件和 Freewheel Ads 组件,因为这两个组件使用相同的iAds 界面
。有关按接口列出的组件列表,请参阅组件概述。 -
前往 vastadsComponent > res > values > values.xml > values.xml 。复制
ad_tag
字符串并将其粘贴到应用程序的 custom.xml 文件中(在 res > 值中)。示例如下:<string name= “ad_tag” > “https://pubads.g.doubleclick.net/gampad/ads?sz=640x480 & iu=/124319096/external/single_ad_ samples & ciu_szs=300x250 & impl=s & gdfp_req=1 & env=vp & output=vast & </string>unviewed_position_start=1 & cust_params=deployment%3devSite%26sample_ct%3dLinear & correlator=”
有关支持的广告代码的示例,请参阅此 Google 项目中的 IMA 示例标签。
-
使用您自己的 VAST 广告
标签自定义 ad_tag
字符串的值。请注意,在您的 VAST 标签中,必须对以下字符进行编码:
Character 编码 " “
'
'
<
<
>
>
&
&
-
要让用户能够在广告中播放、暂停和点击事件,请打开应用的 custom.xml 文件(在 res > values 内)并添加以下内容:
</bool>
<bool name= “enable_key_events_on_ad_ view” > true </bool><bool name= “enable_play_state_overlay_on_ad_ view” > true
这将启用广告渲染器上的播放/暂停按钮,并允许播放/暂停/中心按钮起作用。(默认情况下,此功能处于关闭状态。) 要启用在 Web 浏览器中打开事件,请参阅下一节: 在@@ 迷你浏览器中启动视频点击。
当你运行应用程序时,VAST 广告将按配置播放。
在迷你浏览器中启动视频点击
Fire App Builder 提供了一个名为 MiniBrowser 的 WebView 模块,用于支持用户互动,主要用于广告点击。当用户点击您的 VAST 广告中的链接时,迷你浏览器可以打开目标页面。(也可以扩展迷你浏览器以供其他模块使用。)
要添加对 VAST 广告的迷你浏览器支持,请执行以下操作:
- 按照上一节 “配置 VAST 广告” 中的说明进行操作。确保完成最后一步 (#5),即允许用户在广告中播放、暂停和点击事件。
- 在 Android 视图中,展开 Gradle 脚本并打开 build.gradle(模块: VastadsComponent) 文件。
-
在
依赖
项对象中,添加编译项目(': miniBrowser')
,如红色所示:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) 编译文件 ('libs/mfXerces.jar') compile 'com.android.support:appcompat-v7:23.4.0' androidTestCompile ('com.android.support.test: runner: 0.4') { 排除群组:“com.android.support”,模块:“支持注释” } androidTestCompile ('com.android.support.test: rules: 0.4') { 排除群组:“com.android.support”,模块:“支持注释” } AndroidTestCompile 'junit: junit: 4.12' 编译项目 (': ModuleInterface') 编译项目 (': adsInterface') 编译项目 (': DynamicParser') 编译项目 (': Utils') 编译项目 (': miniBrowser') }
- 再次展开 Gradle 脚本部分并打开 settings.gradle(项目: 设置)文件。
-
添加以下
MiniBrowser
条目,如红色所示:包括 ': app', ': AdobeMobileLibrary', /* 框架 */ ': TVUIComponent', ': UAMP', /* 图书馆 */ ': 内容模型', ': 内容浏览器', "DynamicParser", ':DataLoader', Utils ': 书法', ': miniBrowser', /* 接口 */ ':authInterface', ':adsInterface', ':AnalyticsInterface', ': 模块接口', ': 购买界面', /* 实现 */ ': vastadsComponent', ': amznMediaPlayer组件', ': AdobePrimetimeFiretvsdkauthComponent', ': omnitureAnalyticsComponent', ':Amazon inAppPurchaseComponent' /* 框架 */ project (': tvuiComponent') .projectDir = 新文件 (rootProject.ProjectDir, '../tvuiComponent/lib ') project (': UAMP') .projectDir = 新建文件 (rootProject.ProjectDir, '../UAMP ') /* 图书馆 */ project (': ContentModel') .projectDir = 新建文件 (rootProject.ProjectDir, '../contentModel ') project (': ContentBrowser') .projectDir = 新建文件 (rootProject.ProjectDir, '../内容浏览器 ') project (': DynamicParser') .projectDir = 新文件 (rootProject.ProjectDir, '../DynamicParser ') project (': DataLoader') .projectDir = 新建文件 (rootProject.ProjectDir, '../DataLoader ') project (': Utils') .projectDir = 新建文件 (rootProject.ProjectDir, '../Utils ') project (': Calligraphy') .projectDir = 新文件 (rootProject.ProjectDir, '/tvuiComponent/书法 ') proj@@ ect (': miniBrowser') .projectDir = 新建文件 (rootProject.ProjectDir, '../迷你浏览器 ')
-
在应用程序的 custom.xml 文件中,在
资源
中添加以下元素:</string>
<string name= “browser_class_name” > com.am azon.android.minibrowser.webviewHandler Activity </bool><bool name= “enable_key_events_on_ad_ view” > true </bool><bool name= “enable_play_state_overlay_on_ad_ view” > true </bool><bool name= “enable_browser_support_on_ad_ view” > true
- 单击 “立即同步” 以重新同步 Gradle。
现在,当你有启动网页视图的点击事件时,这些事件将通过迷你浏览器启动。
在除大量广告之外的其他组件中使用迷你浏览器
迷你浏览器主要用于与 Vast 广告的互动。但是,您也可以将迷你浏览器用于其他组件。为此,你将遵循上一节(在迷你浏览器中启动视频点击)中相同的一般步骤,但是你不是在 VastadsComponents文件夹中进行修改,而是在你要添加迷你浏览器的组件文件夹中进行修改。然后发送带有所需 URI 的 startActivity
for com.amazon.android.minibrowser.webviewHandler
Activity 类的意向。
迷你浏览器有单独的亚马逊许可要求,您可以在 terms_of_use.html 文件(在应用程序 > 资源中)中阅读该要求。