Supervisa los eventos de almacenamiento en búfer de anuncios
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
SDK de anuncios multimedia interactivos (IMA) para iOS.
En esta guía, se explica cómo tomar medidas según el estado de almacenamiento en búfer de los anuncios.
Cómo usar eventos de búfer en tu app
Puedes usar los siguientes métodos de delegado en IMAAdsManagerDelegate
para agregar un indicador de actividad a tu app cuando los anuncios se pausan para almacenar en búfer:
- (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager
: Se llama cuando un anuncio que ya comenzó a reproducirse dejó de hacerlo para almacenarse en el búfer.
- (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime
:
Se llama como búfer de anuncios. Se llama a este método de forma repetida mientras se almacena en búfer un anuncio.
- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager
: Se llama cuando el anuncio actual se almacenó en el búfer lo suficiente como para que la reproducción del anuncio no se agote antes de que se llene el búfer.
Ejemplo
Todas las incorporaciones se basan en la muestra avanzada del SDK de IMA (para iOS y tvOS):
@interface VideoViewController () <IMAAdsManagerDelegate,...>
...
@end
@implementation VideoViewController
...
- (void)adsManagerAdDidStartBuffering:(IMAAdsManager *)adsManager {
// Show your activity indicator above the video player - ad playback has
// stopped to buffer.
}
- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager {
// Hide your activity indicator - as playback resumes.
}
Preguntas frecuentes
¿Puedo mostrar un indicador de actividad antes de que comience a reproducirse mi anuncio?
Sí, pero recomendamos usar diferentes métodos de delegado para ese caso de uso. Puedes mostrar el indicador de actividad cuando llamas a [adsManager start]
y ocultarlo cuando detectas kIMAAdEvent_STARTED
en - (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event
.
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\u003eThis guide explains how to utilize ad buffer events to implement an activity indicator in your app, enhancing user experience during ad playback.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use the \u003ccode\u003eIMAAdsManagerDelegate\u003c/code\u003e methods to trigger actions like showing and hiding an activity indicator based on the ad's buffering state.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eadsManagerAdDidStartBuffering\u003c/code\u003e, \u003ccode\u003eadsManagerAdPlaybackReady\u003c/code\u003e, and \u003ccode\u003eadsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime\u003c/code\u003e methods provide signals for managing the activity indicator during buffering.\u003c/p\u003e\n"],["\u003cp\u003eWhile you can show an activity indicator before ad playback, using delegate methods specific to ad start events is recommended for that scenario.\u003c/p\u003e\n"]]],[],null,["# Monitor ad buffering events\n\nInteractive Media Ads (IMA) SDK for iOS.\n\nThis guide explains how to take action based on ad buffering state.\n\nUsing buffer events in your app\n-------------------------------\n\nYou can use the following delegate methods on `IMAAdsManagerDelegate` to add an\nactivity indicator to your app when ads pause to buffer:\n\n- `- (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager`: Called when an ad that already started playing has stopped to buffer.\n- `- (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime`: Called as an ad buffers. This method is called repeatedly as long as an ad is buffering.\n- `- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager`: Called when the current ad is sufficiently buffered such that ad playback is not likely to outrun the buffer.\n\n### Example\n\nAll additions are based on the\n[IMA SDK Advanced Sample](//github.com/googleads/googleads-ima-ios/tree/master/Objective-C/AdvancedExample)\n(for both iOS and tvOS): \n\n```objective-c\n @interface VideoViewController () \u003cIMAAdsManagerDelegate,...\u003e\n\n ...\n\n @end\n\n @implementation VideoViewController\n\n ...\n\n - (void)adsManagerAdDidStartBuffering:(IMAAdsManager *)adsManager {\n // Show your activity indicator above the video player - ad playback has\n // stopped to buffer.\n }\n\n - (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager {\n // Hide your activity indicator - as playback resumes.\n }\n```\n\nFAQ\n---\n\n### Can I show an activity indicator before my ad starts playing?\n\nYes, but we recommend relying on different delegate methods for that\nuse case. You can show the activity indicator when you call `[adsManager start]`,\nand hide the activity indicator when you catch `kIMAAdEvent_STARTED` in\n`- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event`."]]