Monitorare gli eventi di buffering degli annunci
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa guida spiega come intervenire in base allo stato del buffering degli annunci.
Utilizzare gli eventi buffer nell'app
Puoi utilizzare i seguenti metodi del delegato su IMAAdsManagerDelegate
per aggiungere un indicatore di attività alla tua app quando gli annunci vengono messi in pausa per il buffering:
- (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager
: viene chiamato quando un annuncio che ha già iniziato la riproduzione ha smesso di eseguire il buffering.
- (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime
:
chiamato come buffer degli annunci. Questo metodo viene chiamato ripetutamente finché un annuncio è in buffering.
- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager
: viene chiamato quando l'annuncio corrente è sufficientemente memorizzato nella cache in modo che la riproduzione dell'annuncio non superi il buffer.
Esempio
Tutte le aggiunte si basano sull'esempio avanzato dell'SDK IMA (sia per iOS che per 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.
}
Domande frequenti
Posso mostrare un indicatore di attività prima dell'avvio della riproduzione dell'annuncio?
Sì, ma ti consigliamo di utilizzare metodi del delegato diversi per questo
caso d'uso. Puoi mostrare l'indicatore di attività quando chiami [adsManager start]
e nasconderlo quando catturi kIMAAdEvent_STARTED
in - (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event
.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-31 UTC.
[null,null,["Ultimo aggiornamento 2025-08-31 UTC."],[[["\u003cp\u003eThis guide provides instructions on how to leverage ad buffer events to display an activity indicator during ad buffering.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can utilize the \u003ccode\u003eIMAAdsManagerDelegate\u003c/code\u003e methods, such as \u003ccode\u003eadsManagerAdDidStartBuffering\u003c/code\u003e, \u003ccode\u003eadsManager:adDidBufferToMediaTime:\u003c/code\u003e, and \u003ccode\u003eadsManagerAdPlaybackReady\u003c/code\u003e, to manage the activity indicator's visibility based on the ad's buffering state.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code example demonstrates how to integrate these methods into an iOS or tvOS application, using the IMA SDK Advanced Sample as a basis.\u003c/p\u003e\n"],["\u003cp\u003eWhile displaying an activity indicator before ad playback is possible, it's recommended to use different delegate methods and events like \u003ccode\u003e[adsManager start]\u003c/code\u003e and \u003ccode\u003ekIMAAdEvent_STARTED\u003c/code\u003e for that purpose.\u003c/p\u003e\n"]]],[],null,["# Monitor ad buffering events\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`."]]