Mise en mémoire tampon des événements

Ce guide vous explique comment prendre des mesures en fonction de l'état de la mise en mémoire tampon de l'annonce.

Utiliser des événements de mise en mémoire tampon dans votre application

Vous pouvez utiliser les méthodes de délégation suivantes sur IMAAdsManagerDelegate pour ajouter un indicateur d'activité à votre application lorsque les annonces sont mises en pause pour être mises en mémoire tampon:

  • - (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager: appelé lorsqu'une annonce dont la lecture a déjà commencé s'est arrêtée pour être mise en mémoire tampon.
  • - (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime : appelé en tant que tampon d'annonces. Cette méthode est appelée à plusieurs reprises tant qu'une annonce est mise en mémoire tampon.
  • - (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager: appelé lorsque l'annonce actuelle est suffisamment mise en mémoire tampon pour que la lecture de l'annonce ne risque pas de dépasser la mémoire tampon.

Exemple

Tous les ajouts sont basés sur l'exemple avancé du SDK IMA (pour iOS et 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.
    }

Questions fréquentes

Puis-je afficher un indicateur d'activité avant le début de la lecture de mon annonce ?

Oui, mais nous vous recommandons de recourir à différentes méthodes de délégation pour ce cas d'utilisation. Vous pouvez afficher l'indicateur d'activité lorsque vous appelez [adsManager start] et le masquer lorsque vous interceptez kIMAAdEvent_STARTED dans - (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event.