Regole per gli annunci

L'SDK IMA per Android supporta le playlist annuncio completamente automatiche. 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 video player necessario 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 varie regole per gli annunci, ad esempio "Riproduci sempre l'interruzione pubblicitaria all'inizio dei contenuti" o "Riproduci un'interruzione pubblicitaria di un minuto ogni 30 minuti di contenuti".
  • Quando gli annunci vengono richiesti, 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 per i contenuti, se prevedi di implementare le regole per gli annunci, devi salvare la posizione della testina di riproduzione dei tuoi contenuti quando inizia un annuncio, quindi cercare la posizione in questione al termine dell'annuncio. Assicurati di implementare l'interfaccia VideoAdPlayer nel video player. Ciò garantisce che le interruzioni pubblicitarie vengano inserite automaticamente nei momenti 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 ha interrotto la riproduzione, assicurati di chiamare AdsLoader.contentComplete per segnalare all'SDK che i contenuti sono stati completati. L'SDK riproduce quindi l'interruzione pubblicitaria post-roll, se pianificata. L'evento ALL_ADS_COMPLETED viene generato quando sono state riprodotte TUTTE le interruzioni pubblicitarie. Inoltre, tieni presente che il monitoraggio dei contenuti inizia quando viene richiamato init() e dovresti chiamare sempre init() prima di riprodurre i contenuti.