Regole per gli annunci

L'SDK IMA per Android supporta le playlist di annunci completamente automatiche. Questa funzionalità inserisce interruzioni pubblicitarie nei contenuti come specificato Google Ad Manager quando gestisci il traffico degli annunci. Inoltre, semplifica notevolmente il codice del video player necessarie per supportare le interruzioni pubblicitarie, tra cui pre-roll, mid-roll e post-roll.

  • Quando gestisci il traffico degli annunci in Ad Manager, puoi specificare diverse regole per gli annunci ad esempio "riproduci sempre l'interruzione pubblicitaria all'inizio dei contenuti" o "riproduci uno di minuti di interruzione pubblicitaria 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 specificato.
  • Dato che Android utilizza lo stesso video player sia per la riproduzione di annunci sia per i contenuti, se prevedi di implementare regole per gli annunci, devi salvare la posizione della testina di riproduzione contenuti all'inizio di un annuncio, per poi cercare quella posizione al termine dell'annuncio. Assicurati di implementare l'interfaccia di VideoAdPlayer nel tuo video un player. In questo modo le interruzioni pubblicitarie vengono inserite automaticamente 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);
    }
    
  • CONTENT_PAUSE_REQUESTED e CONTENT_RESUME_REQUESTED vengono utilizzati per mettere in pausa e riprendere la riproduzione dei contenuti durante la riproduzione delle interruzioni pubblicitarie. Invita alla documentazione relativa all'API pertinente per maggiori dettagli su questi eventi.

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