Automatiza las playlists de anuncios

Selecciona la plataforma: HTML5 Android iOS tvOS

El SDK de IMA para Android admite listas de reproducción de anuncios completamente automatizadas. Esta función inserta pausas publicitarias en el contenido según se especifica en Google Ad Manager cuando se coordina el tráfico de tus anuncios. También simplifica en gran medida el código del reproductor de video necesario para admitir pausas publicitarias, incluidos los anuncios previos al video, durante el video y al final del video.

  • Cuando se publican los anuncios en Ad Manager, es posible especificar varias reglas de anuncios, como "siempre reproducir la pausa publicitaria al comienzo del contenido" o "reproducir una pausa publicitaria de un minuto cada 30 minutos de contenido".
  • Cuando se solicitan anuncios, el servidor de anuncios puede devolver una playlist de anuncios. El SDK procesa la playlist y programa automáticamente las pausas publicitarias especificadas.
  • Dado que Android usa el mismo reproductor de video para la reproducción de anuncios y contenido, si planeas implementar reglas de anuncios, debes guardar la posición del cabezal de reproducción de tu contenido cuando comience un anuncio y, luego, buscar esa posición cuando finalice el anuncio. Asegúrate de implementar la interfaz VideoAdPlayer en tu reproductor de video. Esto garantiza que las pausas publicitarias se inserten automáticamente en los momentos especificados en 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);
    }
  • Los eventos CONTENT_PAUSE_REQUESTED y CONTENT_RESUME_REQUESTED se usan para pausar y reanudar el contenido cuando se reproducen pausas publicitarias. Consulta la documentación de la API correspondiente para obtener detalles sobre estos eventos.

Nota: Cuando termine la reproducción del contenido o el usuario la detenga, asegúrate de llamar a AdsLoader.contentComplete para indicarle al SDK que el contenido finalizó. Luego, el SDK reproduce la pausa publicitaria al final del video, si se programó una. El evento ALL_ADS_COMPLETED se activa cuando se reproducen TODOS los cortes publicitarios. Además, ten en cuenta que el seguimiento de contenido comienza cuando se llama a init() y siempre debes llamar a init() antes de reproducir contenido.