Google Interactive Media Ads SDK に関するよくある質問
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
- 一部のフォーマットで広告が表示されないのはなぜですか?
-
テスト広告タグは、有効なリクエストに対して常に広告を返すように設定されています。これは、
統合を促進し プレーヤーの行動を
広告のリクエストとレンダリングを行います。ただし、
広告ユニットに最適なフォーマットを選びます統合が機能している場合
テストタグでは適切に記録され、独自のタグではない場合は、次のいずれかが原因である可能性があります。
次のとおりです。
<ph type="x-smartling-placeholder">
</ph>
- ご利用の環境にサポートされていない形式の動画が配信されています。たとえば
iOS または Android に HTML5 広告のみを配信している。
- アド マネージャーを利用している場合は、お客様のパブリッシャー ID に、
あります。また、関連する広告が承認され、
作成する方法を学びます。
- AdSense を使用している場合、サイトまたはテストページのターゲティング条件は、
アクティブな広告がない。最も一般的な原因は
非公開のクロールされていないウェブサイトです。
- Ad Exchange のネットワークパートナー管理を
ご利用の場合は
descriptionURL
が設定されていないか、所有または運営されていない
ドメイン管理リストがある場合、広告は配信されません。
- Ad Exchange 動画で定義されている minCPM の基準値を確認します。
CPM が高すぎると広告掲載率も低くなる可能性がありますこの問題を解決するには、次のいずれかの方法をお試しください。
広告リクエストから minCPM を削除するか、広告ユニット パラメータを削除する
(スロット名など)をクリックして、広告掲載率に影響があるかどうかを確認します。
- おすすめの
descriptionUrl
の特徴
-
最も効果的なには、
descriptionUrl
するページのコンテンツ
単語やフレーズの集合体ではなく
実際の内容とその提供におけるご自身の役割を 1 ~ 3 段落で説明してください。
過去に成功した方法の一つは、
事前定義されたブロックから動的に生成されるdescriptionUrl
ページ コンテンツ。
たとえば、コンテンツについての 2 ~ 3 文、
サイトが提供する商品やサービスと
関連するいくつかの事前定義済みスニペットを
(例: 「エンターテイメント」や「スポーツ」)。その結果
コンテンツに、かなり異なる descriptionUrl
が関連付けられている
一般的な情報(ジャンルの記述子など)だけでなく、
具体的な情報(コンテンツに関する直接のコンテンツ)として識別されます。
このメタデータの HTML はシンプルなものにする必要があります。次に例を示します。
<html>
<head>
<title>Domain.com - Your tag line here!</title>
</head>
<body>
<h1>Descriptions</h1>
<h2>About this Content</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...</p>
<h2>About Domain.com</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...</p>
</body>
</html>
- 「広告レスポンスに有効な広告タイプが含まれていません」というエラーが表示されるのはなぜですか?
- このエラーは通常、
(特定の期間における)特定の
publisherId
この条件
キャンペーンの始まりと終わりによって、1 日を通して、または数日間で変化する場合があります。
ターゲティングしたい広告の有効期限が切れていないこと、
広告のターゲティング条件が正しいことを確認します。
広告のリクエスト、受信、レンダリングが適切に行われている限り、
テストpublisherId
では、これらの広告が
広告が配信される際は、実際のpublisherId
を使用して
できます。
- テストに使用できるアド マネージャーの動画広告タグはありますか?
- サンプルタグは、サンプルタグのページにあります。
adSlotWidth
と adSlotHeight
を同じにする必要があります。
値をアド マネージャーの広告タグで sz
としてどのように指定しているでしょうか。
- そうとも限りません。
adSlotWidth
と adSlotHeight
は、広告を表示するプレーヤーまたは領域の幅と高さに設定する必要があります
指定します。AdSense では、この情報に基づいて、配信に適した広告が
できます。アド マネージャーの広告タグ内の sz
の Key-Value ペア:
配信されるクリエイティブに必ずしも影響しない
(詳しくは下記を参照)。
- デモ用の広告タグは問題なく動作していますが、自分の広告タグに切り替えると広告が表示されません。
-
広告タグに入稿されているかどうかを確認する
あります。これを見つける最も簡単な方法は、HTTP トラフィックを監視することです。もし
HTML アンカー ブロック内に 1×1 ピクセルの grey.gif 画像が返される場合。
アド マネージャーでターゲティングを確認します。
- 同じタグを使用して広告を複数回リクエストしたいが、最初の 1 回しか広告が表示されない
リクエストできます。どうすればよいですか?
-
広告を複数回リクエストする場合は、広告サーバーに通知する必要がある
正当なリクエストであり、偶発的な重複ではないことを確認できます。SDK
次の 2 つの簡単な API 呼び出しを使用します。
<ph type="x-smartling-placeholder">
</ph>
AdsManager
インスタンスで destroy()
を呼び出します。
これにより、以下の呼び出しを行ってもポストロールは再生されなくなります。
contentComplete()
。新しい AdsManager
を獲得しました
予測値を指定する必要があります
AdsLoader
から contentComplete()
に発信
作成します。これにより SDK がリセットされ、新しい広告リクエストが
使用します。
で確認できます。
上記の 2 つの呼び出しを行った後、次のように requestAds()
を呼び出すことができます。
AdsLoader
インスタンスを使用して、再生する別の広告セットを取得
新しい動画です。
- IMA SDK を使用してオーバーレイやフルスロットの AdSense 広告をリクエストするにはどうすればよいですか?
-
SDK を使用して AdSense 広告をリクエストするには、まず AdSense アカウントを取得する必要があります。
あります。詳しくは、AdSense
動画をご覧ください。タグを取得したら、以下を行う必要があります。
オーバーレイ広告またはフルスロット広告のリクエストを行う手順は以下のとおりです。
オーバーレイ広告
<ph type="x-smartling-placeholder"></ph>
AdsRequest
で ViewModes を次のように設定します。
NORMAL
。
- 広告タグにパラメータ
overlay=1
を追加します。
で確認できます。
フルスロット広告
<ph type="x-smartling-placeholder"></ph>
AdsRequest
で ViewModes を次のように設定します。
FULLSCREEN
。
- 広告タグにパラメータ
overlay=0
を追加します。
- 「リンク先 URL が無効です」と表示されるエラーが表示されます考えられる原因は何ですか?
-
このエラーの最もよくある原因は、クリックスルーが誤ってエスケープされていることです。
URL を入力します。このエラーが表示された場合は、クリックスルーが
VAST レスポンスで URL が適切にエスケープされています。
- 「VAST ドキュメントが空です」と表示される理由どうなるでしょうか
- このエラーは、広告タグから空の VAST ドキュメントが返された場合に発生します。
広告が適切に配信されなかったことを示しますアカウント マネージャーに問い合わせる
または広告サーバーの担当者に連絡して、広告タグが機能しない理由を確認してください。
- [広告をスキップ] ボックスや他の UI 要素のサイズやテキストを変更できますか?
- IMA SDK では、UI 要素のレイアウト、サイズ、コンテンツの変更はサポートされていません。
UI 要素について詳しくは、
AdsManager.uiElements
をご覧ください。
- HTML5 SDK ではネイティブ動画のコントロールはサポートされていますか?
-
いいえ。HTML5 SDK はネイティブ コントロールをサポートしていません。
- 「Failed to execution 'play'」と表示される「HTMLMediaElement」上: API は開始のみ可能
表示されます。確認できますどうすればよいですか?
-
モバイル デバイスでは、
adDisplayContainer.initialize()
を呼び出す必要があります。
ユーザーが操作(タップなど)の結果として発生することはありません。もし
ユーザー開始型ではないコンテキストで呼び出している可能性があります。なお、
ユーザーの操作の直接の結果であること。たとえば、
「タップ」イベントをリッスンしてから、動画プレーヤーの「再生」イベント
initialize()
の場合、SDK はこのエラーを返します。initialize()
を呼び出す必要があるユーザー:
タップイベント自体の結果です
- 広告クリック時のキーボード フォーカスを処理するにはどうすればよいですか?
-
プレーヤーでキーボード コントロールを使用すると、機能しなくなることがあります。
[
adDisplayContainer
] をクリックします。広告がクリックされると
キーボードのフォーカスが IMA iframe に切り替わります。コンテンツ プレーヤーにキーボードのフォーカスを保持するには、
活用しましょう。
CLICK
イベントを使用して、目的のコンテナにキーボードのフォーカスを戻します。以下のコード スニペットで
詳細:
adsManager.addEventListener(
google.ima.AdEvent.Type.CLICK,
function(){
window.focus();
// Or another method to return focus to the desired container.
});
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-31 UTC。
[null,null,["最終更新日 2025-08-31 UTC。"],[[["\u003cp\u003eThe IMA HTML5 SDK facilitates ad integration and testing, but live ads depend on factors like ad targeting, formats, and publisher settings.\u003c/p\u003e\n"],["\u003cp\u003eIf your ad tag isn't working, review your Ad Manager targeting, ensure your descriptionUrl is properly set up, and check for any errors in your VAST response.\u003c/p\u003e\n"],["\u003cp\u003eFor repeated ad requests, use \u003ccode\u003edestroy()\u003c/code\u003e on the AdsManager and \u003ccode\u003econtentComplete()\u003c/code\u003e on the AdsLoader to avoid duplicate requests.\u003c/p\u003e\n"],["\u003cp\u003eNative video controls are not supported with the HTML5 SDK, and on mobile devices, \u003ccode\u003eadDisplayContainer.initialize()\u003c/code\u003e must be called directly as a result of a user action.\u003c/p\u003e\n"],["\u003cp\u003eKeyboard focus can be managed by utilizing the CLICK event and transferring it back to the content player.\u003c/p\u003e\n"]]],[],null,["# Google Interactive Media Ads SDK FAQs\n\n- [Why am I not getting ads back for all formats?](#1)\n- [What does a good descriptionUrl look like?](#2)\n- [Why am I receiving the error \"Ad response does not contain a valid ad type\"?](#3)\n- [Do you have an Ad Manager video ad tag that I can use for testing?](#4)\n- [Should I set the adSlotWidth and adSlotHeight to the same values\n as the sz in my Ad Manager ad tag?](#5)\n- [The demo ad tag looks great, but when I switch it with my ad tag,\n no ad appears.](#7)\n- [I want to request ads using the same tag more than once, but I\n only get ads for my first request. How do I fix this?](#8)\n- [How do I request overlay and full slot AdSense ads using the IMA\n SDK?](#9)\n- [I'm getting an \"Invalid clickthrough URL\" error when I click on my\n ad. What could be the cause?](#10)\n- [Why do I see a \"VAST Document Empty\" error?](#12)\n- [Can I change the size/text of the \"Skip Ad\" box or other UI elements?](#13)\n- [Are native video controls supported with the HTML5 SDK?](#15)\n- [I'm seeing \"Failed to execute 'play' on 'HTMLMediaElement': API can only be\n initiated by a user gesture\" in my HTML5 implementation. How do I fix this?](#17)\n- [How do I handle keyboard focus on ad clicks?](#19)\n\n*** ** * ** ***\n\nWhy am I not getting ads back for all formats?\n:\n The test ad tags are set up to always return ads for valid requests. This is\n meant to facilitate integration and make it easier to test how your player\n requests and renders ads. However, ads are not always available in every\n format for your site, account, or ad unit. If your integration is working\n properly for the test tag but not for your own tag, the cause may be one of\n the following:\n\n - You're serving videos of an unsupported format to your environment. For example, you're serving only HTML5 ads to iOS or Android.\n - If you're using Ad Manager, your publisher ID may not have any ads targeted to it at this time. Also, ensure that you have approved the relevant ads and creatives in Ad Manager.\n - If you're using AdSense, the targeting criteria for your site or test page may not have any active advertisements. The most common cause is the use of private, uncrawled websites.\n - If you're using Ad Exchange Network Partner Management and `descriptionURL` is not set or is not on the owned or operated domains management list, ads do not serve to this.\n - Check the *minCPM* thresholds defined in Ad Exchange Video. A fairly high CPM may result in very low fill rates. To correct this, try either removing the minCPM or removing the ad unit parameter from the ad request (i.e., slotname) to verify whether this is affecting the fill rate.\n\nWhat does a good `descriptionUrl` look like?\n:\n To be most effective, the content of the page that `descriptionUrl`\n points to shouldn't be a collection of words or phrases but rather\n 1-3 paragraphs actually describing the content and your role in providing it.\n One method that has been successful in the past is to stitch together\n `descriptionUrl` page content dynamically from predefined blocks.\n For example, a few sentences about the content, a few sentences about your\n site's offering, and then a few predefined snippets associated with each\n AdSense channel (like \"Entertainment\" or \"Sports\"). As a result, each piece of\n content has a reasonably distinct `descriptionUrl` associated with\n it that provides both general information (such as genre descriptors) as well\n as specific information (content about the content directly).\n\n This metadata HTML should be simple, for example:\n\n ```text\n \u003chtml\u003e\n \u003chead\u003e\n \u003ctitle\u003eDomain.com - Your tag line here!\u003c/title\u003e\n \u003c/head\u003e\n \u003cbody\u003e\n \u003ch1\u003eDescriptions\u003c/h1\u003e\n \u003ch2\u003eAbout this Content\u003c/h2\u003e\n \u003cp\u003eLorem ipsum dolor sit amet, consectetur adipiscing elit. ...\u003c/p\u003e\n \u003ch2\u003eAbout Domain.com\u003c/h2\u003e\n \u003cp\u003eLorem ipsum dolor sit amet, consectetur adipiscing elit. ...\u003c/p\u003e\n \u003c/body\u003e\n \u003c/html\u003e\n \n ```\n\nWhy am I receiving the error \"Ad response does not contain a valid ad type\"?\n: This error generally appears because no ads have been targeted to the\n specific `publisherId` (for the given time period). This condition\n may vary throughout the day, or over several days as campaigns begin and end.\n You should check that the ad you wish to target has not expired and that the\n ad targeting criteria are correct.\n As long as ads are properly requested, received, and rendered using\n the test `publisherId`, you can be sure that these ads are\n properly handled using your live `publisherId` when the ads are\n available.\n\nDo you have an Ad Manager video ad tag that I can use for testing?\n: Sample tags are available on the [sample tags](/interactive-media-ads/docs/sdks/html5/tags) page.\n\nShould I set the `adSlotWidth` and `adSlotHeight` to the same\nvalues as the `sz` in my Ad Manager ad tag?\n: Not necessarily. The `adSlotWidth` and `adSlotHeight`\n must be set to the width/height of the player or area you want your ads to\n fill. They are used by AdSense to determine which ads are available to fit\n into that space. The `sz` key/value pair in your Ad Manager ad tag is\n a targeting parameter and does not necessarily affect the creative served\n (more information below).\n\nThe demo ad tag looks great, but when I switch it with my ad tag, no ad appears.\n:\n Check to ensure that something is trafficked to the ad tag you are\n requesting. The easiest way to find out is to watch the HTTP traffic. If a\n **1x1 pixel grey.gif** image is returned within an HTML anchor block,\n then you need to check your targeting in Ad Manager.\n\nI want to request ads using the same tag more than once, but I only get ads for my first\nrequest. How do I fix this?\n:\n When you request ads more than once, you need to let the ad server know\n that these are legitimate requests, and not accidental duplicates. The SDK\n does this for you with two quick API calls:\n\n 1. Call `destroy()` on your `AdsManager` instance. This prevents any post-rolls from playing when you make the below call to `contentComplete()`. You get a new `AdsManager` when you make your next request.\n 2. Call `contentComplete()` on your `AdsLoader` instance. This resets the SDK so the new ad request doesn't look like a duplicate of the previous one.\n\n\n After making the two calls above, you can call `requestAds()` on\n your `AdsLoader` instance to get another set of ads to play for your\n new video.\n\nHow do I request overlay and full slot AdSense ads using the IMA SDK?\n\n: To request AdSense ads using the SDK, you need to first obtain an AdSense\n ad tag. You can learn more about that on the [AdSense\n for Video page](//support.google.com/adsense/answer/1705822). Once you have your tag, you need to take the following\n steps to make either an overlay or a full slot ad request:\n\n **Overlay ads**\n\n 1. In your `AdsRequest`, set your ViewModes to `NORMAL`.\n 2. In your ad tag, add the parameter `overlay=1`.\n\n **Full slot ads**\n\n 1. In your `AdsRequest`, set your ViewModes to `FULLSCREEN`.\n 2. In your ad tag, add the parameter `overlay=0`.\n\nI'm getting an \"Invalid clickthrough URL\" error when I click on my ad. What could be the cause?\n:\n The most common cause for this error is an improperly escaped clickthrough\n URL. If you're seeing this error, check to make sure that your clickthrough\n URL is properly escaped in your VAST response.\n\nWhy do I see a \"VAST Document Empty\" error?\n: This error occurs when the ad tag returns an empty VAST document, indicating\n that the ad was not served properly. Talk to your account manager\n or ad server representative to see why your ad tag is not working.\n\nCan I change the size/text of the **Skip Ad** box or other UI elements?\n: The IMA SDKs do not support changing the layout, size, or content of UI elements.\n For more details on UI elements, see `AdsManager.uiElements`.\n\nAre native video controls supported with the HTML5 SDK?\n:\n No, the HTML5 SDK does not support native controls.\n\nI'm seeing \"Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated\nby a user gesture\" in my HTML5 implementation. How do I fix this?\n:\n On mobile devices, you must call `adDisplayContainer.initialize()`\n as the result of a user action (such as a tap). If you're\n seeing this error, you're most likely calling it on a non-user-initiated context. Note that it\n must be the **direct** result of a user action. For example, if you respond to a\n \"tap\" event by playing a video, and then use the video player's \"play\" event to call\n `initialize()`, the SDK returns this error. You must call `initialize()` as\n the result of the tap event itself.\n\nHow do I handle keyboard focus on ad clicks?\n:\n If you use keyboard controls for your player you may notice that they will no longer work\n following clicks on the `adDisplayContainer`. This is because, once an ad is clicked\n keyboard focus is switched to the IMA iframe. To keep keyboard focus on the content player, please\n utilize the\n [CLICK](/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdEvent)\n event to transfer keyboard focus back to the desired container. See the following code snippet for\n more details: \n\n ```text\n adsManager.addEventListener(\n google.ima.AdEvent.Type.CLICK,\n function(){\n window.focus();\n // Or another method to return focus to the desired container.\n });\n \n ```"]]