Monitorare gli eventi di buffering degli annunci

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.