Para analizar nuestros productos y proporcionar comentarios sobre ellos, únete al canal oficial de Discord de Ad Manager en el servidor de la Comunidad de Publicidad y Medición de Google.
El SDK puede operar en uno o más modos, según la respuesta del anuncio que recibe del servidor de anuncios.
Anuncio único
Anuncio que se puede reproducir en cualquier momento cuando se envía el mensaje al IMAAdsManager.start No se necesita ninguna inicialización especial para reproducir un solo anuncio.
Grupo de anuncios
Varios anuncios que se reproducen uno tras otro cuando se envía el mensaje start al objeto IMAAdsManager. No se requiere ninguna inicialización especial para reproducir un solo pod de anuncios.
Reglas de anuncios
Es una playlist de pausas publicitarias programadas en ciertos momentos para un contenido específico. El mensaje start se ignora en el modo de reglas de anuncios. Se pueden programar varias pausas publicitarias en una sola playlist (p.ej., anuncios previos al video, durante el video y finales del video). Para obtener más detalles sobre la implementación, consulta la sección Reglas de Anuncios a continuación.
Reglas de anuncios
El SDK de IMA para iOS admite listas de reproducción de anuncios completamente automatizadas. Esta función inserta pausas publicitarias en el contenido según se especifica en Google Ad Manager cuando se coordina el tráfico de tus anuncios. También simplifica en gran medida el código del reproductor de video necesario para admitir pausas publicitarias, incluidos los anuncios previos al video, durante el video y al final del video.
Cuando se publican anuncios en Ad Manager, es posible especificar varias reglas de anuncios, como "siempre reproducir una pausa publicitaria al comienzo del contenido" o "reproducir una pausa publicitaria de un minuto cada 30 minutos de contenido".
Cuando se solicitan anuncios, el servidor de anuncios puede devolver una playlist de anuncios. El SDK procesa la playlist y programa automáticamente las pausas publicitarias especificadas.
Cuando se inicializa AdsManager, se pasa un objeto IMAContentPlayhead a través de la llamada initializeWithContentPlayhead:adsRenderingSettings:. Si usas un AVPlayer para mostrar tu contenido, debes pasar una instancia de IMAAVPlayerContentPlayhead al SDK cuando crees tu adDisplayContainer. Este objeto se usa para hacer un seguimiento del progreso de la reproducción de contenido, de modo que las pausas publicitarias se inserten automáticamente en los momentos especificados en Ad Manager.
Implementa currentTime para devolver la hora actual de tu reproductor de video.
Cambia la llamada de inicialización de IMAAdsManager para usar initializeWithContentPlayhead:self.
El IMAAdsManagerDelegate se usa para pausar y reanudar el contenido a medida que se reproducen las pausas publicitarias.
Nota: Cuando termine la reproducción del contenido o el usuario la detenga, asegúrate de llamar a contentComplete en el IMAAdsLoader para indicarle al SDK que finalizó la reproducción del contenido. Luego, el SDK reproduce la pausa publicitaria al final del video, si se programó una.
El evento ALL_ADS_COMPLETED se activa cuando se reproducen todas las pausas publicitarias. Además, ten en cuenta que el seguimiento de contenido comienza cuando se llama al método initializeWithContentPlayhead:adsRenderingSettings de IMAAdsManager, y siempre debes llamar a initializeWithContentPlayhead:adsRenderingSettings antes de reproducir contenido.
[null,null,["Última actualización: 2025-09-06 (UTC)"],[[["\u003cp\u003eThe Google IMA iOS SDK allows you to integrate ads into your video content using a WebView for ad requests, parsing, tracking, and rendering.\u003c/p\u003e\n"],["\u003cp\u003eIt supports three main operation modes: single ad, ad pod (multiple ads played back-to-back), and ad rules for scheduled ad breaks.\u003c/p\u003e\n"],["\u003cp\u003eAd rules simplify ad integration by automating ad playlist management based on Google Ad Manager settings, requiring an \u003ccode\u003eIMAContentPlayhead\u003c/code\u003e for content tracking.\u003c/p\u003e\n"],["\u003cp\u003eThe SDK utilizes the \u003ccode\u003eIMAAdsManagerDelegate\u003c/code\u003e to control content playback during ad breaks and requires signaling content completion via \u003ccode\u003econtentComplete\u003c/code\u003e for post-roll ads.\u003c/p\u003e\n"]]],[],null,["Select platform: [HTML5](/interactive-media-ads/docs/sdks/html5/client-side/ad-rules \"View this page for the HTML5 platform docs.\") [Android](/interactive-media-ads/docs/sdks/android/client-side/ad-rules \"View this page for the Android platform docs.\") [iOS](/interactive-media-ads/docs/sdks/ios/client-side/ad-rules \"View this page for the iOS platform docs.\") [tvOS](/interactive-media-ads/docs/sdks/tvos/client-side/ad-rules \"View this page for the tvOS platform docs.\")\n| **Note:** The iOS SDK uses a WebView to load a JavaScript back end. This WebView is used to make ad requests, parse responses, ping tracking URLs, and render the ad UI.\n\nSDK operation modes\n\nThe SDK can operate in one or more modes, depending on the ad response it receives from the ad\nserver.\n\nSingle ad\n: An ad that can be played at any time when the `start`\n message is sent to the `IMAAdsManager`. No special initialization\n is necessary to play a single ad.\n:\n\nAd pod\n: Several ads that play back to back when the `start` message is sent to\n the `IMAAdsManager`. No special initialization is necessary to\n play a single ad pod.\n\nAd rules\n: A playlist of ad breaks scheduled at certain times against particular\n content. The `start` message is ignored in ad rules mode. There can\n be several ad breaks scheduled within a single playlist (e.g., pre-roll,\n mid-roll, post-roll). For further implementation details, see the\n [Ad Rules](#ad-rules) section below.\n\nAd rules\n\nIMA iOS\nSDK supports fully automated ad playlists. This feature\ninserts ad breaks into the content as specified in\n[Google Ad Manager](//admanager.google.com/)\nwhen trafficking your ads. It also greatly simplifies the video player code\nnecessary to support ad breaks, including pre-rolls, mid-rolls, and post-rolls.\n\n- When trafficking ads in Ad Manager, it is possible to specify various ad rules like \"always play ad break at the beginning of the content\" or \"play a one-minute ad break every 30 minutes of content\".\n- When ads are requested, the ad server can return an ad playlist. The SDK processes the playlist and automatically schedules the ad breaks that have been specified.\n- When initializing the `AdsManager`, an `IMAContentPlayhead` object is passed in via the `initializeWithContentPlayhead:adsRenderingSettings:` call. If you are using an AVPlayer to display your content, you pass an instance of `IMAAVPlayerContentPlayhead` to the SDK when you create your `adDisplayContainer`. This object is used to track the progress of the content playback so ad breaks are automatically inserted at the times specified in Ad Manager. \n\n **With AVPlayer:** \n\n ```objective-c\n IMAContentPlayhead *contentPlayhead =\n [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer];\n IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl\n adDisplayContainer:adDisplayContainer\n contentPlayhead:contentPlayhead\n userContext:nil];\n ```\n\n **Without AVPlayer:**\n 1. Implement the `IMAContentPlayhead` interface.\n 2. Implement `currentTime` to return the current time of your video player.\n 3. Change the `IMAAdsManager` initialization call to use `initializeWithContentPlayhead:self`.\n- The [IMAAdsManagerDelegate](/interactive-media-ads/docs/sdks/ios/client-side/reference/Protocols/IMAAdsManagerDelegate) is used to pause and resume the content as ad breaks are played.\n\n**Note:** When the content has finished playing or\nthe user has stopped playback, be sure to call `contentComplete`\non the `IMAAdsLoader` in order to signal to the SDK that the content\nhas finished playing. The SDK then plays the post-roll ad break, if one has been scheduled.\nThe `ALL_ADS_COMPLETED` event is raised when all ad breaks have\nbeen played. In addition, note that content tracking begins when\n`IMAAdsManager`'s `initializeWithContentPlayhead:adsRenderingSettings`\nmethod is called and you should always call `initializeWithContentPlayhead:adsRenderingSettings`\nbefore playing content."]]