Android 向け IMA SDK には、Open Measurement(OM)SDK が含まれています。これは、サードパーティによる視認性と検証の測定を可能にするために Interactive Advertising Bureau(IAB)によって開発された業界標準です。Android 向け IMA SDK を使用すると、含まれる OM SDK が VAST 広告タグ内の <AdVerifications>
タグを自動的に解析し、OMID API を介して指定された測定ベンダーに視認性データを送信します。IMA SDK は、OM SDK v1.4、VAST 2 以降の GAM AdVerifications 拡張機能、VAST 4 以降の AdVerifications ノードをサポートしています。オープン測定を活用するには、次の点に注意してください。
Open Measurement を使用するには、バージョン 3.11.0 以降の IMA SDK for Android が必要です。ただし、このガイドのサンプルは最新バージョンの SDK 用に設計されており、バージョン 3.16.5 で導入された API が含まれています。
VAST 4.1 以降を使用している場合は、VAST 4.1 仕様に従って VAST で
<AdVerifications>
をトラフィックするように広告を構成する必要があります。それ以外の場合は、<Extension type="AdVerifications">
を使用する必要があります。AdDisplayContainer
をオーバーレイ(透明または不透明)で覆わないでください。OMSDK によって障害物としてフラグが立てられ、視認性が低下します。
前提条件
- 広告がアド マネージャー経由でトラフィックされている場合は、アド マネージャー ネットワークで視認性データの提供元を設定し、その視認性データの提供元を広告申込情報に割り当てます。
テスト
IMA SDK を使って Open Measurement をテストするには、上記の SDK の必須バージョンのいずれかとテスト広告タグを使用します。
VAST レスポンスに <AdVerifications>
が返されます。
動画コントロールのオーバーレイの遮蔽物を登録する
一時停止ボタンや進行状況バーなどの動画コントロールは、ユーザーに重要な再生情報と操作を提供します。モバイルでは、タップが不正確であることとユーザーの期待から、メディア要素にタップしやすい大きなコントロールをレンダリングすることが一般的になっています。通常、これらのコントロールはユーザーのタップでフェードイン / フェードアウトし、再生時間のほとんどは表示されません。
YouTube アプリで表示される動画コントロールの例を次に示します。
IMA SDK を使用しているほとんどのパブリッシャーは、広告表示コンテナの上にほとんど透明なビューを追加することで、これらのコントロールを実装しています。通常、コントロールは、基盤となる動画プレーヤーを完全に覆い隠すこのビューの子要素です。この透明なオーバーレイは、タップイベントをキャプチャし、タップされたときにコントロールをユーザーにレンダリングするために使用されます。
Open Measurement SDK で広告の視認性を計算する際、メディア要素をオーバーレイするすべてのビューは邪魔になっていると見なされ、視認可能率が低下します。透明なタップ オーバーレイが広告表示コンテナ全体の上に配置されている場合、広告枠が完全に視認不能と宣言される可能性があります。
Open Measurement SDK には、動画コントロールを「フレンドリー」な障害物と見なすための条件が用意されており、ユーザー エクスペリエンスに不可欠なものです。フレンドリーとして登録されたコントロールは、広告の視認性の測定から除外されます。
IAB と MRC をサポートするため、IMA SDK には、Open Measurement SDK を使用してオーバーレイを登録するための API が導入されています。これらのコントロールは、完全に透明なオーバーレイまたは小さなボタンである必要があります。動画コントロールに関連しない他のビューは登録しないでください。
DO 登録 | 登録しない |
---|---|
|
|
次のサンプルコードは、広告表示コンテナに動画コントロール オーバーレイを登録する方法を示しています。
myTransparentTapOverlay = (ViewGroup) rootView.findViewById(R.id.overlay);
myPauseButton = (ImageButton) rootView.findViewById(R.id.pauseButton);
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the
// elements you want to register as video controls overlays.
// Make sure to register before ad playback starts.
overlayObstruction = ImaSdkFactory.createFriendlyObstruction(
myTransparentTapOverlay,
FriendlyObstructionPurpose.NOT_VISIBLE,
"This overlay is transparent"
);
pauseButtonObstruction = ImaSdkFactory.createFriendlyObstruction(
myPauseButton,
FriendlyObstructionPurpose.VIDEO_CONTROLS,
"This is the video player pause button"
);
displayContainer.registerFriendlyObstruction(overlayObstruction);
displayContainer.registerFriendlyObstruction(pauseButtonObstruction);
作業が完了したら、次のメソッドを呼び出して、障害物を取り除くことができます。
displayContainer.unregisterAllFriendlyObstructions();