Preguntas frecuentes sobre el SDK de anuncios multimedia interactivos de Google
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
- ¿Por qué no recibo anuncios para todos los formatos?
-
Las etiquetas de anuncios de prueba están configuradas para mostrar siempre anuncios para solicitudes válidas. Esto se hace para facilitar la integración y probar cómo el reproductor solicita y renderiza los anuncios. Sin embargo, los anuncios no siempre están disponibles en todos los formatos para tu sitio, cuenta o unidad de anuncios. Si tu integración funciona correctamente para la etiqueta de prueba, pero no para tu propia etiqueta, la causa puede ser una de las siguientes:
- Estás publicando videos en un formato no compatible en tu entorno. Por ejemplo:
solo publicas anuncios HTML5 en iOS o Android.
- Si usas Ad Manager, es posible que tu ID de publicador no tenga ningún anuncio segmentado para
en este momento. Además, asegúrate de haber aprobado los anuncios y las creatividades relevantes en Ad Manager.
- Si utilizas AdSense, es posible que los criterios de segmentación de tu sitio o página de prueba no tengan anuncios activos. La causa más común es el uso de sitios web privados que no se rastrearon.
- Si usas la Administración de socios de red de Ad Exchange
descriptionURL
no está establecido o no se encuentra en la propiedad o la administración
lista de administración de dominios, los anuncios no se publican en ella.
- Verifique los límites de minCPM definidos en Ad Exchange Video. Un CPM bastante alto puede generar tasas de relleno muy bajas. Para corregir esto, intenta cualquiera de las siguientes opciones:
quitar el minCPM o el parámetro de la unidad de anuncios de la solicitud de anuncio
(es decir, nombre de espacio) para verificar si esto afecta la tasa de relleno.
- ¿Qué aspecto tiene un buen
descriptionUrl
?
-
Para que sea más eficaz, el contenido de la página que
descriptionUrl
puntos no debería ser una colección de palabras o frases, sino una
de 1 a 3 párrafos que describan el contenido y tu función al proporcionarlo.
Un método que tuvo éxito en el pasado es unir
descriptionUrl
el contenido de la página de forma dinámica a partir de bloques predefinidos.
Por ejemplo, algunas oraciones sobre el contenido, algunas oraciones sobre tu
que ofrece su sitio web y, luego, algunos fragmentos predefinidos asociados a cada
Canal de AdSense (como "Entretenimiento" o "Deportes"). Como resultado, cada elemento de contenido tiene un descriptionUrl
razonablemente distinto asociado que proporciona información general (como descriptores de género) y específica (contenido sobre el contenido directamente).
Este código HTML de metadatos debe ser simple, por ejemplo:
<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>
- ¿Por qué recibo el error “La respuesta del anuncio no contiene un tipo de anuncio válido”?
- Por lo general, este error aparece porque no se segmentaron anuncios para el
publisherId
específico (para el período determinado). Esta condición puede variar a lo largo del día o durante varios días a medida que comienzan y terminan las campañas.
Debes verificar que el anuncio al que deseas segmentar no haya vencido y que los criterios de segmentación del anuncio sean correctos.
Siempre que los anuncios se soliciten, reciban y dibujen correctamente mediante
el publisherId
de prueba, puedes estar seguro de que estos anuncios
correctamente administrados mediante tu publisherId
publicada cuando los anuncios se
disponibles.
- ¿Tienes una etiqueta de anuncio de video de Ad Manager que pueda usar para realizar pruebas?
- Las etiquetas de muestra están disponibles en la página de etiquetas de muestra.
- ¿Debo establecer
adSlotWidth
y adSlotHeight
en los mismos valores que sz
en mi etiqueta de anuncio de Ad Manager?
- No necesariamente.
adSlotWidth
y adSlotHeight
deben establecerse en el ancho o la altura del reproductor o el área que deseas que ocupen tus anuncios. AdSense los utiliza para determinar qué anuncios están disponibles para adaptarse.
a ese espacio. El par clave-valor sz
de su etiqueta de anuncio de Ad Manager es
un parámetro de segmentación y no necesariamente afecta a la creatividad publicada
(encontrarás más información a continuación).
- La etiqueta de anuncio de demostración se ve muy bien, pero cuando la cambio por mi etiqueta de anuncio, no aparece ningún anuncio.
-
Verifica que se envíe tráfico a la etiqueta de anuncio que solicitas. La manera más fácil de averiguarlo es observar el tráfico HTTP. Si se muestra una imagen grey.gif de 1 × 1 píxel dentro de un bloque de anclaje HTML, debes verificar tu segmentación en Ad Manager.
- Quiero solicitar anuncios con la misma etiqueta más de una vez, pero solo recibo anuncios para mi primera solicitud. ¿Cómo puedo solucionarlo?
-
Cuando solicitas anuncios más de una vez, debes informar al servidor de anuncios
que se trate de solicitudes legítimas y no duplicados accidentales. El SDK hace esto por ti con dos llamadas rápidas a la API:
- Llama a
destroy()
en tu instancia de AdsManager
.
Esto evita que se reproduzca ningún anuncio posterior a la publicación cuando realices la siguiente llamada a contentComplete()
. Obtendrás un nuevo AdsManager
cuando realices tu próxima solicitud.
- Llama a
contentComplete()
en tu instancia de AdsLoader
. Esto restablece el SDK, de modo que la nueva solicitud de anuncio no se vea como una
un duplicado del anterior.
Después de realizar las dos llamadas anteriores, puedes llamar a requestAds()
en
tu instancia de AdsLoader
para obtener otro conjunto de anuncios que se reproducirán en tu
video nuevo.
- ¿Cómo solicito anuncios de AdSense superpuestos y de posición completa con el SDK de IMA?
-
Para solicitar anuncios de AdSense mediante el SDK, primero debes obtener un
etiqueta de anuncio. Para obtener más información al respecto, visita la página de AdSense
En la página Video for Video. Una vez que tengas tu etiqueta, debes hacer lo siguiente:
Pasos para realizar una solicitud de anuncio superpuesto o en un espacio completo:
Anuncios superpuestos
- En tu
AdsRequest
, establece los ViewModes en NORMAL
.
- En tu etiqueta de anuncio, agrega el parámetro
overlay=1
.
Anuncios que ocupan todo el espacio publicitario
- En tu
AdsRequest
, establece los ViewModes en FULLSCREEN
.
- En tu etiqueta de anuncio, agrega el parámetro
overlay=0
.
- Aparece un error que indica que la URL de clic es no válida cuando hago clic en mi anuncio. ¿Cuál podría ser la causa?
-
La causa más común de este error es un clic con escape incorrecto
URL. Si ves este error, asegúrate de que la URL de clic tenga el escape correcto en la respuesta de VAST.
- En los SDK de iOS y Android, ¿existe alguna manera de hacer que se pueda hacer clic en todo el anuncio de video?
- En lo que respecta al seguimiento de clics en todo el video, la experiencia estándar de los usuarios para los videos para dispositivos móviles que surgió es que, cuando se presiona un video, se pausa o se muestran los controles del reproductor. Para evitar a los usuarios
hacer clic involuntariamente en anuncios cuando en realidad solo quiere acceder al
Los controles del reproductor de IMA usan el botón Más información para permitir
los usuarios hacen clic en un anuncio y obtienen más información sobre el producto que se publicita.
- ¿Por qué veo un error que indica que el documento VAST está vacío?
- Este error se produce cuando la etiqueta de anuncio muestra un documento VAST vacío, lo que indica que el anuncio no se publicó correctamente. Comuníquese con su administrador de cuentas
o un representante del servidor de anuncios para ver por qué la etiqueta de anuncio no funciona.
- ¿Puedo cambiar el tamaño o el texto del cuadro Omitir anuncio o de otros elementos de la IU?
- Los SDK de IMA no admiten el cambio del diseño, el tamaño ni el contenido de los elementos de la IU.
Para obtener más información sobre los elementos de la IU, consulta
AdsManager.uiElements
.
- ¿Por qué no puedo cambiar el volumen de un anuncio en iOS?
-
iOS no te permite establecer el volumen de manera programática. Si usas el SDK de HTML5,
adsManager.setVolume()
no tiene efecto. Por este motivo, el SDK de iOS no proporciona un configurador de volumen en IMAAdsManager.
- ¿Puedo usar varios subprocesos para inicializar y manipular la IU?
-
Toda la inicialización de la IU debe realizarse en el subproceso principal. Después de la inicialización, puedes implementar la reproducción de anuncios en segundo plano.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-31 (UTC)
[null,null,["Última actualización: 2025-08-31 (UTC)"],[[["\u003cp\u003eThe test ad tags always return ads for valid requests to make integration and testing easier, however, live ads may not always be available for all ad formats, placements or targeting criteria.\u003c/p\u003e\n"],["\u003cp\u003eEnsure your \u003ccode\u003edescriptionUrl\u003c/code\u003e is set to a page on your site with 1-3 paragraphs accurately describing the content for better ad targeting.\u003c/p\u003e\n"],["\u003cp\u003eWhen requesting ads more than once using the same tag, ensure you reset the SDK by calling \u003ccode\u003edestroy()\u003c/code\u003e on \u003ccode\u003eAdsManager\u003c/code\u003e and \u003ccode\u003econtentComplete()\u003c/code\u003e on \u003ccode\u003eAdsLoader\u003c/code\u003e to avoid duplicate requests.\u003c/p\u003e\n"],["\u003cp\u003eThe "Ad response does not contain a valid ad type" error generally indicates that no ads are currently targeted to your publisher ID, time period or ad unit, ensure your ads and creatives are approved, targeted correctly and have not expired.\u003c/p\u003e\n"],["\u003cp\u003eThe IMA SDK does not allow for customization of UI elements like the "Skip Ad" button, and on iOS, programmatic volume control for ads is restricted by the operating system.\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 can't I change an ad's volume on iOS?](#16)\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/ios/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 can't I change an ad's volume on iOS?\n:\n iOS does not allow you to set volume programmatically. If you're using the\n HTML5 SDK, `adsManager.setVolume()` has no effect. The iOS SDK does not\n provide a volume setter on the IMAAdsManager for this reason.\n\nCan I use multiple threads to initialize and manipulate the UI?\n:\n\n All initialization of the UI must be done on the main thread. After\n initialization, you can choose to implement\n [Background Ad Playback](/interactive-media-ads/docs/sdks/ios/background_ad_playback)."]]