Règles relatives aux annonces

Le SDK IMA pour Android est compatible avec les playlists d'annonces entièrement automatisées. Cette fonctionnalité insère des coupures publicitaires dans le contenu, comme indiqué dans Google Ad Manager lors du trafficking de vos annonces. De plus, il simplifie considérablement le code du lecteur vidéo nécessaires pour accepter les coupures publicitaires, y compris les annonces vidéo pré-roll, mid-roll et post-roll.

  • Lors du trafficking des annonces dans Ad Manager, vous pouvez spécifier différentes règles relatives aux annonces comme "Toujours lire la coupure publicitaire au début du contenu" ou "joue une chanson d'une coupure publicitaire d'une minute toutes les 30 minutes de contenu".
  • Lorsque des annonces sont demandées, l'ad server peut renvoyer une playlist d'annonces. Le SDK traite la playlist et planifie automatiquement les coupures publicitaires spécifié.
  • Étant donné qu'Android utilise le même lecteur vidéo pour la lecture des annonces et du contenu, Si vous envisagez d'appliquer des règles relatives aux annonces, vous devez enregistrer la position de la tête de lecture au début de l'annonce, puis rechercher cette position lorsque l'annonce se termine. Veillez à implémenter l'interface VideoAdPlayer dans votre vidéo. joueur. Ainsi, les coupures publicitaires sont automatiquement insérées au heures spécifiées dans Ad Manager.
    private boolean playingContent = true;
    private int contentPosition = -1;
    private List callbacks =
        new ArrayList();
    
    @Override
    public void addCallback(VideoAdPlayerCallback callback) {
      callbacks.add(callback);
    }
    
    @Override
    public void removeCallback(VideoAdPlayerCallback callback) {
      callbacks.remove(callback);
    }
    
    public void loadContent() {
      playingContent = true;
      load(CONTENT_URL);
    }
    
    @Override
    public void loadAd(String mediaUrl) {
      playingContent = false;
      load(mediaUrl);
    }
    
    public void pauseContent() {
      savePosition();
      pause();
    }
    
    @Override
    public void pauseAd() {
      pause();
    }
    
    private void pause() {
      myVideoView.pause();
      for (VideoAdPlayerCallback callback : callbacks) {
        callback.onPause();
      }
    }
    
    public void resumeContent() {
      loadContent();
      if (contentPosition > 0) {
        restorePosition();
      }
      resume();
    }
    
    @Override
    public void resumeAd() {
      resume();
    }
    
    private void resume() {
      myVideoView.start();
      for (VideoAdPlayerCallback callback : callbacks) {
        callback.onResume();
      }
    }
    
    public void savePosition() {
      contentPosition = myVideoView.getCurrentPosition();
    }
    
    public void restorePosition() {
      myVideoView.seekTo(contentPosition);
    }
    
  • CONTENT_PAUSE_REQUESTED et CONTENT_RESUME_REQUESTED sont utilisés pour mettre en pause et reprendre la lecture du contenu lors de la lecture des coupures publicitaires. Recommander consultez la documentation correspondante de l'API pour en savoir plus sur ces événements.

Remarque:Lorsque la lecture du contenu est terminée ou l'utilisateur a arrêté la lecture, veillez à appeler AdsLoader.contentComplete pour signaler au SDK que le contenu est terminé. Le SDK la coupure publicitaire post-roll, si elle a été programmée. La ALL_ADS_COMPLETED événement est déclenché lorsque TOUTES les coupures publicitaires sont déclenchées. ont été joués. De plus, notez que le suivi du contenu commence lorsque init() est appelé, et vous devez toujours appeler init(). avant de lire le contenu.