Google 양방향 미디어 광고 SDK FAQ
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
- 일부 형식에 대해 광고가 표시되지 않는 이유는 무엇인가요?
-
테스트 광고 태그는 유효한 요청에 대해 항상 광고를 반환하도록 설정되어 있습니다. 이것은
이는 통합을 용이하게 하고 플레이어가 여러 동영상 사이에
광고를 요청하고 렌더링합니다. 하지만 일부 플랫폼에서는 광고를
광고 형식을 선택할 수 있습니다. 통합이 작동하는 경우
태그가 자체 태그에서는 그렇지 않은 경우 그 원인은 다음 중 하나일 수 있습니다.
다음과 같습니다.
<ph type="x-smartling-placeholder">
</ph>
- 현재 환경에 지원되지 않는 형식의 동영상을 게재하고 있습니다. 예를 들어
iOS 또는 Android에만 HTML5 광고를 게재하는 경우
- Ad Manager를 사용 중인 경우, 게시자 ID에
사용할 수 없습니다. 또한 관련 광고를 승인했는지 확인하고
Ad Manager에서
사용할 수 있습니다
- 애드센스를 이용하는 경우 사이트 또는 테스트 페이지의 타겟팅 기준이
활성 광고가 없을 수 있습니다. 가장 일반적인 원인은
크롤링되지 않은 비공개 웹사이트
- Ad Exchange 네트워크 파트너 관리를 사용 중이고
descriptionURL
이(가) 설정되지 않았거나 소유 또는 운영 중인 제품에 없습니다.
광고가 게재되지 않습니다.
- Ad Exchange 동영상에 정의된 minCPM 기준점을 확인하세요. 가
CPM이 상당히 높으면 유효노출률이 매우 낮아질 수 있습니다. 이 문제를 해결하려면 다음 중 하나를 시도하세요.
minCPM을 삭제하거나 광고 요청에서 광고 단위 매개변수를 제거합니다.
(예:slotname)을 사용하여 유효노출률에 영향을 미치는지 확인할 수 있습니다.
- 좋은
descriptionUrl
은 어떤 모습일까요?
-
최대의 효과를 내려면
descriptionUrl
가리키는 대상은 단어나 구문의 모음이 아니라
콘텐츠와 해당 콘텐츠를 제공하는 데 있어 귀하의 역할을 실제로 설명하는 1~3개의 단락이어야 합니다.
이전에 성공적이었던 한 가지 방법은
사전 정의된 블록에서 페이지 콘텐츠를 동적으로 descriptionUrl
합니다.
예를 들어 콘텐츠에 대한 문장 몇 개와
그리고 각 제안과 연결된 몇 개의 사전 정의된 스니펫을
애드센스 채널('엔터테인먼트' 또는 '스포츠')을 선택합니다. 결과적으로
콘텐츠에 상당히 눈에 띄는 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
(지정된 기간) 이 질환
하루 동안 달라질 수도 있고 캠페인이 시작되고 종료됨에 따라 며칠에 걸쳐 달라질 수 있습니다.
타겟팅하려는 광고가 만료되지 않았는지, 광고가 만료되지 않았는지
광고 타겟팅 기준이 올바른지 확인합니다.
광고가 올바르게 요청, 수신 및 렌더링되는 경우
publisherId
테스트에서는 이러한 광고가
광고가 다음과 같은 경우 실시간 publisherId
를 사용하여 올바르게 처리됨
있습니다.
- 테스트에 사용할 수 있는 Ad Manager 동영상 광고 태그가 있나요?
- 샘플 태그는 샘플 태그 페이지에서 확인할 수 있습니다.
adSlotWidth
과 adSlotHeight
를 동일하게 설정해야 하나요?
값을 sz
로 설정해야 하나요?
- 반드시 그런 것은 아닙니다.
adSlotWidth
및 adSlotHeight
광고가 표시하려는 영역의 너비/높이로 설정되어야 합니다.
채워야 합니다. 애드센스에서 어떤 광고를 게재할지 결정하는 데 사용됩니다.
찾을 수 있습니다. Ad Manager 광고 태그의 sz
키-값 쌍은 다음과 같습니다.
게재되는 광고 소재에 반드시 영향을 주지는 않습니다.
(자세한 내용은 아래 참조)
- 데모 광고 태그는 멋져 보이지만 내 광고 태그로 바꾸면 광고가 표시되지 않습니다.
-
사용 중인 광고 태그에 트래피킹되고 있는 것이 있는지
있습니다. 가장 쉬운 확인 방법은 HTTP 트래픽을 지켜보는 것입니다. 만약
HTML 앵커 블록 내에 1x1pixel Grey.gif 이미지가 반환됩니다.
Ad Manager에서 타겟팅을 확인해야 합니다
- 동일한 태그를 사용하여 광고를 두 번 이상 요청하고 싶지만 처음 사용할 때만 광고가 표시됨
합니다. 이 문제를 해결하려면 어떻게 해야 하나요?
-
광고를 두 번 이상 요청하는 경우 광고 서버에 다음과 같은 정보를 제공해야 합니다.
이러한 요청이 실수로 중복되지 않고 타당한 요청임을 확인합니다. SDK
두 가지 빠른 API 호출로 이 작업을 수행합니다.
<ph type="x-smartling-placeholder">
</ph>
AdsManager
인스턴스에서 destroy()
를 호출합니다.
이렇게 하면
contentComplete()
새로운 AdsManager
이(가) 제공됩니다
요청을 수행합니다.
AdsLoader
에서 contentComplete()
에 전화 걸기
인스턴스를 만들 수 있습니다 이렇게 하면 SDK가 재설정되어 새 광고 요청이
중복됩니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.
위의 두 가지를 호출한 후 다음에서 requestAds()
를 호출할 수 있습니다.
AdsLoader
인스턴스에 추가하여
새 동영상입니다.
- IMA SDK를 사용하여 오버레이 및 전체 슬롯 애드센스 광고를 요청하려면 어떻게 해야 하나요?
-
SDK를 사용하여 애드센스 광고를 요청하려면 먼저 애드센스
광고 태그 자세한 내용은 애드센스
동영상 페이지를 참고하세요. 태그가 준비되면 다음 작업을 수행해야 합니다.
오버레이 또는 전체 슬롯 광고 요청을 하는 방법은 다음과 같습니다.
오버레이 광고
<ph type="x-smartling-placeholder"></ph>
AdsRequest
에서 ViewModes를 다음과 같이 설정합니다.
NORMAL
입니다.
- 광고 태그에
overlay=1
매개변수를 추가합니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.
전체 슬롯 광고
<ph type="x-smartling-placeholder"></ph>
AdsRequest
에서 ViewModes를 다음과 같이 설정합니다.
FULLSCREEN
입니다.
- 광고 태그에
overlay=0
매개변수를 추가합니다.
- '잘못된 클릭연결 URL' 메시지가 표시됩니다. 오류가 발생합니다. 원인이 무엇일까요?
-
이 오류가 발생하는 가장 일반적인 원인은 부적절하게 이스케이프된 클릭연결입니다.
URL입니다. 이 오류가 표시되면 클릭연결이 제대로 되고 있는지 확인하세요.
URL이 VAST 응답에서 제대로 이스케이프 처리됩니다.
- Android 및 iOS SDK에서 전체 동영상 광고를 클릭 가능하도록 만들 수 있는 방법이 있나요?
- 전체 동영상 클릭 추적에 관한 한, 일반적인 시청자 경험은
모바일 동영상의 경우 동영상을 탭하면
일시중지하거나 재생 컨트롤을
표시합니다. 사용자가
실제로 그냥 보고 싶을 때 광고를 클릭하는 것은
플레이어 컨트롤 IMA는 자세히 알아보기 버튼을 사용하여
사용자가 광고를 클릭하여 광고 중인 제품에 대해 자세히 알아볼 수 있습니다.
- 'VAST 문서가 비어 있습니다'라고 표시되는 이유는 무엇인가요? 오류가 있나요?
- 이 오류는 광고 태그가 빈 VAST 문서를 반환할 때 발생합니다.
광고가 제대로 게재되지 않았다는
사실을 알 수 있습니다. 계정 관리자에게 문의하기
또는 광고 서버 담당자에게 문의하여 광고 태그가 작동하지 않는 이유를 확인하세요.
- 광고 건너뛰기 상자 또는 다른 UI 요소의 크기/텍스트를 변경할 수 있나요?
- IMA SDK는 UI 요소의 레이아웃, 크기 또는 콘텐츠 변경을 지원하지 않습니다.
UI 요소에 관한 자세한 내용은
AdsManager.uiElements
를 참고하세요.
- '가상 메서드 없음' 메시지가 표시되는 이유는 무엇인가요? 오류가 있나요?
-
다음과 유사한 오류 메시지는 이전 버전을 사용하면 발생합니다.
포함되지 않습니다.
No virtual method
getInfo()Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info; in
class Lcom/google/android/gms/ads/identifier/AdvertisingIdClient; or its
super classes (declaration of 'com.google.android.gms.ads.identifier.AdvertisingIdClient'
이 문제는 4.0 이상 (가능한 최신 버전)으로 업그레이드하면 해결됩니다.
- 여러 스레드를 사용하여 UI를 초기화하고 조작할 수 있나요?
-
아니요. UI의 모든 초기화와 조작은
기본 스레드로 이동합니다. Android에서 UI 객체는 스레드로부터 안전하지 않습니다. 자세한 내용은
<ph type="x-smartling-placeholder"></ph>
스레드를 참고하세요.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-31(UTC)
[null,null,["최종 업데이트: 2025-08-31(UTC)"],[[["\u003cp\u003eThe test ad tags always return ads for valid requests to help with integration and testing; however, live ads might not always be available due to factors like ad targeting, formats, and publisher settings.\u003c/p\u003e\n"],["\u003cp\u003eWhen using your own ad tag, ensure it's properly trafficked and targeted in Ad Manager to avoid issues like no ads appearing or a 1x1 pixel grey.gif being returned.\u003c/p\u003e\n"],["\u003cp\u003eFor repeated ad requests using the same tag, use \u003ccode\u003edestroy()\u003c/code\u003e on the \u003ccode\u003eAdsManager\u003c/code\u003e and \u003ccode\u003econtentComplete()\u003c/code\u003e on the \u003ccode\u003eAdsLoader\u003c/code\u003e to prevent duplicate requests and ensure proper ad serving.\u003c/p\u003e\n"],["\u003cp\u003eAn "Ad response does not contain a valid ad type" error usually indicates an issue with ad targeting for your publisher ID; verify the ad's status and targeting criteria in Ad Manager.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eadSlotWidth\u003c/code\u003e and \u003ccode\u003eadSlotHeight\u003c/code\u003e should be set to the player's dimensions for ad fitting, while the \u003ccode\u003esz\u003c/code\u003e parameter in the Ad Manager tag is for targeting and may not directly influence creative selection.\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- [In the Android and iOS SDKs, is there a way to make the entire video\n ad clickable?](#11)\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- [Why am I getting \"No virtual method\" errors at runtime?](#14)\n- [Can I use multiple threads to initialize and manipulate the UI?](#18)\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/android/client-side/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\nIn the Android and iOS SDKs, is there a way to make the entire video ad clickable?\n: As far as whole-video click tracking goes, the standard viewer experience\n for mobile video that has emerged is that tapping on a video either\n pauses it or brings up the player controls. To avoid users\n unintentionally clicking on ads when they really just want access to the\n player controls IMA uses the **Learn more** button to let\n users click on an ad and learn more about the product being advertised.\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\nWhy am I getting \"No virtual method\" errors at runtime?\n\n: Error messages similar to the following are caused by using an older version\n of Google Play services that does not include the advertising ID.\n\n ```\n No virtual method\n getInfo()Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info; in\n class Lcom/google/android/gms/ads/identifier/AdvertisingIdClient; or its\n super classes (declaration of 'com.google.android.gms.ads.identifier.AdvertisingIdClient'\n ```\n\n Upgrading to version 4.0 or later (but preferably the latest) solves this problem.\n\nCan I use multiple threads to initialize and manipulate the UI?\n:\n\n No, all initialization and manipulation of the UI must be done on the\n main thread. In Android, UI objects are not thread-safe. See\n [Threads](//developer.android.com/guide/components/processes-and-threads.html#Threads) for more information."]]