Open Measurement を有効にする
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
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 を使用するには、Android 用 IMA SDK のバージョン 3.11.0 以降が必要です。ただし、このガイドのサンプルは最新バージョンの SDK 用に設計されており、バージョン 3.16.5 で導入された API が含まれています。
VAST 4.1 以降を使用している場合は、VAST 4.1 仕様に従って VAST で <AdVerifications>
をトラフィックするように広告を設定する必要があります。それ以外の場合は、<Extension type="AdVerifications">
を使用する必要があります。
AdDisplayContainer
をオーバーレイ(透明または不透明)で覆わないでください。OM SDK によって障害物としてフラグが立てられ、視認性が低下します。
前提条件
テスト
IMA SDK を使用してオープン測定をテストするには、上記の必須バージョンの SDK のいずれかを使用し、テスト広告タグを使用します。
VAST レスポンスに <AdVerifications>
が返されます。
動画コントロールのオーバーレイの遮蔽物を登録する
一時停止ボタンや進行状況バーなどの動画コントロールは、ユーザーに重要な再生情報と操作を提供します。モバイルでは、タップが不正確であることとユーザーの期待から、メディア要素の上にタップしやすい大きなコントロールをレンダリングすることが一般的になっています。通常、これらのコントロールはユーザーのタップでフェードイン / フェードアウトし、再生時間のほとんどは表示されません。
YouTube アプリでレンダリングされる動画コントロールの例を次に示します。

IMA SDK を使用しているほとんどのパブリッシャーは、広告表示コンテナの上にほとんど透明なビューを追加することで、これらのコントロールを実装しています。通常、コントロールは、基盤となる動画プレーヤーを完全に覆い隠すこのビューの子要素です。この透明なオーバーレイは、タップイベントをキャプチャし、タップされたときにコントロールをレンダリングするために使用されます。
Open Measurement SDK で広告の視認性が計算される際、メディア要素をオーバーレイするすべてのビューは被覆物と見なされ、視認率が低下します。透明なタップ オーバーレイが広告表示コンテナ全体の上に配置されている場合、広告枠が完全に視認不能と宣言される可能性があります。
Open Measurement SDK では、動画コントロールがユーザー エクスペリエンスに不可欠な「フレンドリー」な遮蔽物と見なされるように規定されています。フレンドリーとして登録されたコントロールは、広告の視認性の測定から除外されます。
IAB と MRC のサポートにより、IMA SDK には、Open Measurement SDK にこれらのオーバーレイを登録するための API が導入されています。これらのコントロールは、完全に透明なオーバーレイまたは小さなボタンである必要があります。動画コントロールに関連しない他のビューは登録しないでください。
DO 登録 |
登録しないでください |
- ユーザーのタップをキャプチャする透明オーバーレイ
-
一時的なボタン
- 一時停止
- 再生
- 全画面表示
- キャスト/AirPlay
- 閉じる
- 進行状況/シーク
- 再生に関連するその他のアクション
|
- ウォーターマーク
- ポップアップ
- ダイアログ
- 一時的でないボタン
- その他の視界を遮るビュー
|
次のサンプルコードは、広告表示コンテナに動画コントロール オーバーレイを登録する方法を示しています。
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();
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-31 UTC。
[null,null,["最終更新日 2025-08-31 UTC。"],[[["\u003cp\u003eThe IMA SDK for Android incorporates the Open Measurement (OM) SDK, an industry standard for third-party viewability and verification measurement, automatically sending viewability data to specified vendors.\u003c/p\u003e\n"],["\u003cp\u003eTo utilize Open Measurement, ensure you are using IMA SDK for Android version 3.11.0 or higher, ads are configured to traffic \u003ccode\u003e<AdVerifications>\u003c/code\u003e tags in their VAST responses, and avoid obstructing the \u003ccode\u003eAdDisplayContainer\u003c/code\u003e with overlays.\u003c/p\u003e\n"],["\u003cp\u003ePublishers can register transparent video control overlays as "friendly obstructions" with the IMA SDK to prevent them from negatively impacting viewability measurements, but these overlays must adhere to IAB standards for size and character usage.\u003c/p\u003e\n"]]],["The IMA SDK for Android uses the Open Measurement (OM) SDK to enable third-party ad viewability and verification, automatically parsing `\u003cAdVerifications\u003e` tags in VAST ads. To use this, ensure the IMA SDK version is 3.11.0 or greater, and configure ads to traffic `\u003cAdVerifications\u003e`. Video controls can be registered as \"friendly\" obstructions, exempting them from viewability calculations. This is done by calling `ImaSdkFactory.createFriendlyObstruction()` on transparent overlays or buttons, and registering them with `displayContainer.registerFriendlyObstruction()`.\n"],null,["The IMA SDK for Android includes the\n[Open Measurement (OM) SDK](//iabtechlab.com/standards/open-measurement-sdk/),\nan industry standard developed by the\n[Interactive Advertising Bureau (IAB)](//www.iab.com/) to enable third-party\nviewability and verification measurement. When using the IMA SDK for\nAndroid, the included OM SDK automatically parses\nthe `\u003cAdVerifications\u003e` tag within VAST ad tags and sends viewability data to\nthe specified measurement vendors via the OMID API.The IMA SDK supports OM SDK\nv1.4, GAM AdVerifications extensions on VAST 2+,\nand the AdVerifications node on VAST 4+.To take advantage of Open Measurement,\nkeep the following points in mind:\n\n- To use Open Measurement you must have version\n 3.11.0 or\n greater of the IMA SDK for Android.\n However, the sample in this guide is designed for the newest version of the SDK\n and includes APIs introduced in version 3.16.5.\n\n- Ads must be configured to traffic `\u003cAdVerifications\u003e` in their VAST as per\n the [VAST 4.1 spec](//iabtechlab.com/wp-content/uploads/2018/06/VAST4.1-June7-FINAL.pdf)\n if using VAST 4.1+; otherwise, `\u003cExtension type=\"AdVerifications\"\u003e`\n should be used.\n\n- Refrain from covering the `AdDisplayContainer` with any overlays\n (transparent or opaque), since these will be flagged as obstructions by the OM\n SDK and reduce viewability.\n\nPrerequisites\n\n- If your ads are trafficked through Ad Manager, [configure a viewability\n provider for your Ad Manager network](//support.google.com/admanager/answer/9025968#configure-a-viewability-provider) and assign that viewability provider to your line item.\n\nTesting\n\nTo test Open Measurement using the IMA SDK, use one of the required versions of\nthe SDK above, along with a [test ad tag](https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/omid_ad_samples&env=vp&gdfp_req=1&output=vast&sz=640x480&description_url=http%3A%2F%2Ftest_site.com%2Fhomepage&vpmute=0&vpa=0&vad_format=linear&url=http%3A%2F%2Ftest_site.com&vpos=preroll&unviewed_position_start=1&correlator=).\n\nYou should see the `\u003cAdVerifications\u003e` returned in your VAST response.\n\nRegister video controls overlay obstructions\n\nVideo controls such as pause buttons or progress bars provide essential playback\ninformation and actions to users. On mobile, imprecise taps and user\nexpectations have made it common practice to render large, touch-friendly\ncontrols over the media element. These controls usually fade in and out on a\nuser tap and are not visible for the vast majority of playback time.\n\nBelow is an example of video controls rendered by the YouTube app:\n\nWhen using the IMA SDK, most publishers implement these controls by adding a\nview above the ad display container that is mostly transparent. Usually, the\ncontrols are child elements of this view that fully occludes the underlying\nvideo player. This transparent overlay is used to capture tap events and then\nrender the controls to users when tapped.\n\nWhen ad viewability via the Open Measurement SDK is calculated, all views\noverlaying the media element are considered obstructions and reduce the\nviewability rate. In the case where a transparent tap overlay sits above the\nentire ad display container, it is possible for inventory to be declared\ncompletely unviewable.\n\nThe Open Measurement SDK makes provisions for video controls to be considered\n\"friendly\" obstructions that are essential to the user's experience. Once\nregistered as friendly, these controls are excluded from ad viewability\nmeasurement.\n\nWith IAB and MRC support, the IMA SDK introduces an API for registering these\noverlays with the Open Measurement SDK. These controls must be fully transparent\noverlays or small buttons. Any other views not related to video controls must\nnot be registered.\n\n| DO register | DO NOT register |\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|\n| - Transparent overlay to capture user taps - Transient buttons - Pause - Play - Fullscreen - Cast/AirPlay - Collapse - Progress/Seek - Other playback relevant actions | - Watermarks - Pop ups - Dialogs - Non-transient buttons - Other obscuring views |\n\nThe following sample code demonstrates how to register video controls overlays\non the ad display container:\n\n\n| **Key Point:** The `detailedReason` string used when calling [`ImaSdkFactory.createFriendlyObstruction()`](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/ImaSdkFactory#public-friendlyobstruction-createfriendlyobstruction-view-view,-friendlyobstructionpurpose-purpose,-string-detailedreason) must follow the IAB standard by:\n|\n| - Being 50 characters or less.\n| - Only contain characters `A-z`, `0-9`, or spaces.\n- The string can be nil. \n\n myTransparentTapOverlay = (ViewGroup) rootView.findViewById(R.id.overlay);\n myPauseButton = (ImageButton) rootView.findViewById(R.id.pauseButton);\n // Substitute \"myTransparentTapOverlay\" and \"myPauseButton\" with the\n // elements you want to register as video controls overlays.\n // Make sure to register before ad playback starts.\n overlayObstruction = ImaSdkFactory.createFriendlyObstruction(\n myTransparentTapOverlay,\n FriendlyObstructionPurpose.NOT_VISIBLE,\n \"This overlay is transparent\"\n );\n pauseButtonObstruction = ImaSdkFactory.createFriendlyObstruction(\n myPauseButton,\n FriendlyObstructionPurpose.VIDEO_CONTROLS,\n \"This is the video player pause button\"\n );\n\n displayContainer.registerFriendlyObstruction(overlayObstruction);\n displayContainer.registerFriendlyObstruction(pauseButtonObstruction);\n\nWhen you're done with them, these obstructions can be removed by calling the\nfollowing method:\n\n displayContainer.unregisterAllFriendlyObstructions();\n\n| **Note:** For information on measurement and verification providers that have committed to the development of this new viewability standard, see the [IAB open measurement documentation](//iabtechlab.com/working-groups/open-measurement-working-group/)."]]