VAST広告コンポーネント
Fire App Builderでは、VAST広告テンプレート(Video Ad Serving Template)がサポートされています。VASTとは、さまざまなビデオ広告主をサポートする標準プロトコルです。Interactive Advertising Bureau(IAB)では、VASTを次のように説明しています。
IAB Digital Video Ad Serving Template(VAST)仕様は、デジタルビデオプレーヤーに広告を配信するためのユニバーサルXMLスキーマで、VAST形式の広告レスポンスを実行するときに期待されるビデオプレーヤーの動作を記述します。VAST 3.0では、デジタルビデオのインストリーム広告のマーケットプレイスを実現する重大な機能が追加されています。これにより、コストのかかる技術的な障壁が軽減されるため、広告主はその分のコストをビデオ広告に充てることができます。Digital Video Ad Serving Template(VAST)3.0(英語のみ)
たとえば、アプリでDoubleClick広告を表示しようとしている場合は、VAST広告コンポーネントを使用して実現できます。
VASTのサポート範囲
Fire App BuilderのVAST統合機能は、VASTの(膨大な)仕様のすべてに対応しているわけではありません。Fire App Builderでは、VASTの機能のサブセットだけがサポートされます。また、Fire App BuilderのVAST統合機能は、IABによる正式な認定は受けていません。
サポートされるVASTの機能
Fire App Builderは、VAST 3.0(英語のみ)とVMAP(英語のみ)の広告タグをサポートしています。具体的に、次の機能はすべてFire App Builderでサポートされています。
- VAST 2.0および3.0スキーマのプリロール広告、ミッドロール広告、ポストロール広告の再生
- リニア広告
- VMAP広告タグの解決
VMAP(Video Multiple Ad Playlist)には、ほかの広告タグへの参照が含まれています。VMAP広告によって参照される広告タグは、VAST形式の場合もあれば、別の独自形式の場合もあります。Fire App Builderでサポートされるのは、VAST形式の解析だけです。別の形式をサポートする必要がある場合は、VASTコンポーネントを拡張することができます。
サポートされないVASTの機能
Fire App Builderでは、VASTの次の機能はサポートされません。
- スキップ可能なリニアクリエイティブ、コンパニオン広告、ノンリニア広告などのリニアでない広告
- 広告内のすべてのインタラクション
- 302リダイレクト
トラッキングイベント
VASTコンポーネントは、リニアビデオ広告の再生中に次のイベントをトリガーします。
- インプレッション
- エラー
- 開始(25%、中間、75%、終了)
- 広告ブレーク
ビデオ広告の再生中、ユーザーは、VASTベースの広告内でイベントの再生・一時停止・クリックを行うことができます。
次の表に、コンポーネントによるさまざまなイベントのサポート状況を示します。
トラッキングイベント | サポート |
---|---|
creativeView |
なし |
start |
あり |
midpoint |
あり |
firstQuartile |
あり |
thirdQuartile |
あり |
complete |
あり |
breakstart |
あり |
breakend |
あり |
error |
あり |
mute |
なし |
unmute |
なし |
pause |
なし |
rewind |
なし |
resume |
なし |
fullscreen |
なし |
expand |
なし |
collapse |
なし |
acceptInvitation |
なし |
close |
なし |
VAST広告のユーザーエクスペリエンス
プリロール広告が構成されている場合、ユーザーが [今すぐ観る] ボタンをクリックすると、VAST広告テンプレートによって短時間の広告が配信されます。
ビデオ広告が終了すると、ユーザーが選択したメディアの再生が始まります。
VAST広告の構成
- アプリにVAST広告コンポーネントを読み込みます。アプリにコンポーネントを読み込む方法の詳細については、コンポーネントを追加または削除するを参照してください。
-
アプリにほかの広告コンポーネント(FreeWheelAdsComponent、PassThroughAdsComponent)が読み込まれている場合は削除します。詳細については、アプリ内のコンポーネントを追加または削除するを参照してください。
注: 読み込むことができるコンポーネントは、インターフェイスごとに1つだけです。たとえば、VAST広告コンポーネントとFreeWheel広告コンポーネントは、どちらも同じIAds
インターフェイスを使用するため、両方を同時に読み込むことはできません。インターフェイスごとのコンポーネント一覧は、コンポーネントの概要を参照してください。 -
VastAdsComponent > res > values > values.xml > values.xmlに移動します。
ad_tag
の文字列をコピーし、アプリのcustom.xmlファイル(res > values内)に貼り付けます。以下に例を示します。<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&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator="</string>
サポートされている広告タグの例については、このGoogleプロジェクトのIMAサンプルタグ(英語のみ)を参照してください。
-
ad_tag
文字列の値を独自のVAST広告タグでカスタマイズします。VASTタグでは、次の文字をエンコードする必要があります。
文字 エンコーディング "
"
'
'
<
<
>
>
&
&
-
広告内のイベントの再生・一時停止・クリックをユーザーが実行できるようにするには、アプリのcustom.xmlファイル(res > values内)を開き、以下を追加します。
<bool name="enable_key_events_on_ad_view">true</bool> <bool name="enable_play_state_overlay_on_ad_view">true</bool>
これにより、広告レンダラーで再生/一時停止ボタンが有効になり、再生/一時停止/センターボタンが機能するようになります(デフォルトでは、この機能はオフになっています)。 イベントをウェブブラウザで開くには、次のセクションの ビデオクリックをMiniBrowserで開く方法を参照してください。
アプリを実行すると、構成に従ってVAST広告が再生されます。
ビデオクリックをMiniBrowserで開く方法
Fire App Builderには、広告クリックを主としたユーザーの操作をサポートする、MiniBrowserというWebViewモジュールが用意されています。ユーザーがVAST広告内のリンクをクリックしたときに、MiniBrowserでリンク先のページを開くことができます(MiniBrowserは、ほかのモジュールで使用するように拡張することもできます)。
VAST広告に対するMiniBrowserサポートを追加するには、次の手順を実行します。
- 前のセクションのVAST広告の構成に記載されている手順に従います。最後の手順(#5)を完了して、広告内のイベントの再生・一時停止・クリックをユーザーが実行できるようにします。
- [Android] ビューで、Gradle Scriptsを展開し、build.gradle (Module: VastAdsComponent)ファイルを開きます。
-
dependencies
オブジェクトで、以下に赤色で示すようにcompile project(':MiniBrowser')
を追加します。dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile files('libs/mfXerces.jar') compile 'com.android.support:appcompat-v7:23.3.0' androidTestCompile('com.android.support.test:runner:0.4') { exclude group: 'com.android.support', module: 'support-annotations' } androidTestCompile('com.android.support.test:rules:0.4') { exclude group: 'com.android.support', module: 'support-annotations' } androidTestCompile 'junit:junit:4.12' compile project(':ModuleInterface') compile project(':AdsInterface') compile project(':DynamicParser') compile project(':Utils') compile project(':MiniBrowser') }
- もう一度Gradle Scriptsセクションを展開し、settings.gradle (Project: Settings)ファイルを開きます。
-
以下に赤色で示すように、
MiniBrowser
のエントリを追加します。include ':app', ':AdobeMobileLibrary', /* Frameworks */ ':TVUIComponent', ':UAMP', /* Libraries */ ':ContentModel', ':ContentBrowser', ':DynamicParser', ':DataLoader', ':Utils', ':Calligraphy', ':MiniBrowser', /* Interfaces */ ':AuthInterface', ':AdsInterface', ':AnalyticsInterface', ':ModuleInterface', ':PurchaseInterface', /* Implementations */ ':VastAdsComponent', ':AMZNMediaPlayerComponent', ':AdobePrimetimeFireTvSdkAuthComponent', ':OmnitureAnalyticsComponent', ':AmazonInAppPurchaseComponent' /* Frameworks */ project(':TVUIComponent').projectDir = new File(rootProject.projectDir, '../TVUIComponent/lib') project(':UAMP').projectDir = new File(rootProject.projectDir, '../UAMP') /* Libraries */ project(':ContentModel').projectDir = new File(rootProject.projectDir, '../ContentModel') project(':ContentBrowser').projectDir = new File(rootProject.projectDir, '../ContentBrowser') project(':DynamicParser').projectDir = new File(rootProject.projectDir, '../DynamicParser') project(':DataLoader').projectDir = new File(rootProject.projectDir, '../DataLoader') project(':Utils').projectDir = new File(rootProject.projectDir, '../Utils') project(':Calligraphy').projectDir = new File(rootProject.projectDir, '../TVUIComponent/Calligraphy') project(':MiniBrowser').projectDir = new File(rootProject.projectDir, '../MiniBrowser')
-
アプリのcustom.xmlファイルで、
resources
内に次の要素を追加します。<string name="browser_class_name">com.amazon.android.minibrowser.WebViewHandlerActivity</string> <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</bool>
- [Sync now] をクリックして、Gradleを再同期します。
これで、ウェブビューを起動するクリックイベントがあった場合に、イベントからMiniBrowserが起動されるようになりました。
VAST広告以外のコンポーネントでMiniBrowserを使用する方法
MiniBrowserは、主にVAST広告との対話を目的として作成されています。ただし、MiniBrowserをほかのコンポーネントで使用することもできます。そのためには、全体的には前のセクション(ビデオクリックをMiniBrowserで開く方法)と同じ手順に従いますが、VastAdsComponentsフォルダの代わりに、MiniBrowserを追加するコンポーネントのフォルダに変更を加えます。次に、com.amazon.android.MiniBrowser.WebViewHandlerActivity
クラスを対象とし、必要なURIを指定して、startActivity
にインテントを送信します。
MiniBrowserには個別のAmazonライセンス要件があります。これは、terms_of_use.htmlファイル(app > resources内)で確認できます。