Buffering degli eventi

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

Utilizzare gli eventi di buffer nella tua app

Puoi utilizzare i seguenti metodi di delega su IMAAdsManagerDelegate per aggiungere un indicatore di attività alla tua app quando gli annunci vengono messi in pausa per eseguire il buffering:

  • - (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager: viene richiamato quando la riproduzione di un annuncio la cui riproduzione è già iniziata si è interrotta per eseguire il buffering.
  • - (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime: chiamato come buffer dell'annuncio. Questo metodo viene richiamato ripetutamente finché è in corso il buffering di un annuncio.
  • - (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager: richiamato 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 (per iOS e tvOS):

    @interface VideoViewController () 

    ...

    @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 che inizi la riproduzione del mio annuncio?

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