Mise en mémoire tampon des événements

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

Utiliser des événements de tampon dans votre application

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

  • - (void)adsManagerAdDidStartBuffering(IMAAdsManager *)adsManager: appelé lorsqu'une annonce qui a déjà commencé à être diffusée a cessé de mettre en mémoire tampon.
  • - (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime : appelé comme tampon d'annonce. Cette méthode est appelée de manière répétée 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 dépasse pas probablement la mémoire tampon.

Exemple

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

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 vous appuyer sur différentes méthodes de délégué pour ce cas d'utilisation. Vous pouvez afficher l'indicateur d'activité lorsque vous appelez [adsManager start] et masquer l'indicateur d'activité lorsque vous interceptez kIMAAdEvent_STARTED dans - (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event.