Automatizzare le playlist di annunci

Seleziona la piattaforma: HTML5 Android iOS tvOS

L'SDK IMA per Android supporta le playlist di annunci completamente automatizzate. Questa funzionalità inserisce le interruzioni pubblicitarie nei contenuti come specificato in Google Ad Manager durante la gestione del traffico degli annunci. Inoltre, semplifica notevolmente il codice del video player necessario per supportare le interruzioni pubblicitarie, inclusi pre-roll, mid-roll e post-roll.

  • Quando fai il trafficking degli annunci in Ad Manager, è possibile specificare varie regole per gli annunci, come "riproduci sempre l'interruzione pubblicitaria all'inizio dei contenuti" o "riproduci un'interruzione pubblicitaria di un minuto ogni 30 minuti di contenuti".
  • Quando vengono richiesti gli annunci, l'ad server può restituire una playlist di annunci. L'SDK elabora la playlist e pianifica automaticamente le interruzioni pubblicitarie specificate.
  • Poiché Android utilizza lo stesso video player sia per la riproduzione di annunci che di contenuti, se prevedi di implementare regole per gli annunci, devi salvare la posizione della testina di riproduzione dei tuoi contenuti all'inizio di un annuncio, quindi tornare a quella posizione al termine dell'annuncio. Assicurati di implementare l'interfaccia VideoAdPlayer nel tuo video player. In questo modo, le interruzioni pubblicitarie vengono inserite automaticamente negli orari specificati in 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);
    }
  • Gli eventi CONTENT_PAUSE_REQUESTED e CONTENT_RESUME_REQUESTED vengono utilizzati per mettere in pausa e riprendere i contenuti durante la riproduzione delle interruzioni pubblicitarie. Per informazioni dettagliate su questi eventi, consulta la documentazione dell'API pertinente.

Nota:quando la riproduzione dei contenuti è terminata o l'utente l'ha interrotta, assicurati di chiamare AdsLoader.contentComplete per segnalare all'SDK che i contenuti sono stati riprodotti. L'SDK riproduce quindi la pausa pubblicitaria post-roll, se ne è stata pianificata una. L'evento ALL_ADS_COMPLETED viene generato quando TUTTE le interruzioni pubblicitarie sono state riprodotte. Inoltre, tieni presente che il monitoraggio dei contenuti inizia quando viene chiamato init() e devi sempre chiamare init() prima di riprodurre i contenuti.