CA Reward

Tech Blog

Tech Blogトップに戻る

動画広告の標準規格「VAST」について

2016.07.26

  • このエントリーをはてなブックマークに追加
  • Pocket
しげぽよ
しげぽよエンジニア

はじめに

こんにちは、開発部の岡崎です。

今日は近年とても盛り上がっている動画広告でよく使われているVASTという規格について、概要を紹介したいと思います。

VASTとは

VASTとはVideo Ad Serving Templateのことで、IABというオンライン広告の標準規格の策定や市場調査などを行う組織が策定している、動画広告を提供するアドサーバと動画プレーヤーとのやり取りに関する仕様です。アドサーバとプレーヤーがVASTに対応していることにより、

  • アドサーバからどのように動画広告情報が送られるのか
  • 広告配信中にプレイヤーはどういう情報をアドサーバに返すのか

といったことを個別にやり取りすることなく「VASTで」の一言で済ますことができます(実際には要件によって細かい部分や足りない部分の擦り合わせが必要なこともありますが)。

2008年に最初のバージョンが策定され、2016年7月現在でVAST4.0まで策定されています。ちなみに仕様の全体はIABの公式サイトに各バージョン毎に公開されています。YouTubeやニコニコ動画を見ているときに流れてくる動画広告なんかもこのVASTという規格を使ってやり取りされています。

VAST概要

VASTで定められている内容は大きくわけると、

  • 配信する動画広告の情報
  • 動画広告配信時のトラッキングに関する情報

の2つになっています。

アドサーバから送られていたこれらの情報に従って動画プレーヤーは適切に動画広告をユーザーに配信し、ユーザーが動画広告に対して行った行動をトラッキング用のサーバに送るという流れになっています。

VASTはXML形式で定められており、以下のような形になっています。

以下では主要なタグを何個か取り上げて説明していきたいと思います。

<VAST>

VASTのXMLにおけるトップレベルのタグです。attributeとしてversionをもちVASTのどのバージョンなのかを宣言しています。今回の記事はVAST3.0を想定して書いています。

子要素として<Ad>か<Error>のどちらかをもちます。アドサーバは配信する動画広告がない場合に以下のように<Error>タグにプレーヤーが広告が返ってこなかったことを通知するためのURLを含めて返します。

<Ad>

子要素として<InLine>もしくは<Wrapper>をもちます。VASTでは<Wrapper>内に他のVASTを返すアドサーバを指定することができ第三者配信等で利用することが出来ます。プレイヤーは<Wrapper>で指定されたサーバに問い合わせて動画広告情報を取得します(Wrapperで指定されたサーバに問い合わせてもまたWrapperが返ってくるなんてこともありますが)。

<InLine>以下には<AdTitle>、<Description>、<Creatives>などの実際に配信する動画広告の情報が入っています。

<Creatives>

子要素として複数の<Creative>をもちます。<Creative>は子要素として1つ以上の<Linear>もしくは<NonLinearAds>をもつ必要があります。<Linear>には動画広告の長さを指定する<Duration>や動画ファイルの場所を示す<MediaFiles>など、プレイヤーが動画コンテンツとは独立して再生する動画広告の情報が入り、<NonLinearAds>には動画再生中に重ねて表示されるバナー広告などの情報が入ります。

<MediaFiles>

子要素に複数の<MediaFile>をもち、再生したい動画広告のURLを指定します。アドサーバは複数の<MediaFile>内にコーデックやビットレートなどの異なる動画広告素材のURLを入れておき、それぞれ適切なattribute(codecやbitrateなど)を付加してプレイヤーに送信します。プレイヤーは複数の<MediaFile>の中からattributeを見て最適なものを選んで再生します。

<TrackingEvents>

子要素として複数の<Tracking>をもち、動画広告視聴時にトラッキングしたいイベントと、イベント発生時の通信先URLを指定します。
イベントとしては、

  • mute
  • pause
  • skip

などのようなユーザーがプレーヤーに対して行ったアクションや

  • start
  • midpoint
  • progress

といった動画広告をどこまで視聴したのかというものがあります。先ほど例に挙げたVASTのXMLの場合だと、動画プレーヤーは動画広告の視聴開始時と視聴完了時に指定されたURLに通信を行うことになります。

<Extensions>

子要素として複数の<Extension>をもち、VASTに定められた情報以外をプレーヤー側に送りたい時に使うカスタムタグになります。当然事前にプレーヤー側はどういう情報が中に入っているのか知っておく必要があります。

弊社の場合だと、以下のようにリワード広告のインセンティブ情報などを送るためにも使っています。

まとめ

VASTの概要について見てきましたが、動画広告を配信するときに必要になる情報が大方盛り込まれていることが感じられたのではないかなと思います。

今のところVAST3.0が多く使われている(2.0もまだまだ使われてるけど)ようですが、そのうちVAST4.0も増えてくるのではないかと思います。

IABの公式サイトを読んでみてください。>

それでは今回はこのへんで失礼します。