Monitorare gli eventi di buffering degli annunci

Questa guida spiega come intervenire in base allo stato di buffering dell'annuncio.

Utilizzare gli eventi buffer nell'app

Puoi utilizzare i seguenti metodi delegati 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: chiamato quando un annuncio che ha già iniziato la riproduzione si è interrotto per 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: Chiamato quando l'annuncio corrente è sufficientemente memorizzato nel buffer 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 sia 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'inizio della riproduzione dell'annuncio?

Sì, ma per questo caso d'uso ti consigliamo di utilizzare metodi delegati diversi. Puoi mostrare l'indicatore di attività quando chiami [adsManager start] e nasconderlo quando prendi kIMAAdEvent_STARTED in - (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event.