Reguły reklam

Pakiet IMA SDK obsługuje w pełni zautomatyzowane playlisty reklam. Ta funkcja wstawia przerwy na reklamy do treści określonej w usłudze Google Ad Manager podczas trafikowania reklam. Upraszcza też kod odtwarzacza, aby można było obsługiwać przerwy na reklamy, w tym reklamy przed filmem, w trakcie filmu i po filmie.

  • Podczas trafikowania reklam w usłudze Ad Manager możesz określić różne reguły reklamowe, np. „Zawsze odtwarzaj przerwę na reklamę na początku treści” lub „Odtwórz 1-minutową przerwę na reklamę co 30 minut treści”.
  • Po otrzymaniu żądania reklamy serwer reklam może zwrócić playlistę reklamy. SDK przetwarza playlistę i automatycznie planuje określone przerwy na reklamy.
  • Android korzysta z tego samego odtwarzacza do odtwarzania zarówno reklam, jak i treści, dlatego jeśli planujesz wdrożyć reguły reklamowe, musisz zapisać pozycję suwaka odtwarzania treści w momencie rozpoczęcia wyświetlania reklamy, a potem przewijać ją do tego miejsca. Pamiętaj, aby zaimplementować w interfejsie interfejs VideoAdPlayer. Dzięki temu przerwy na reklamy będą wstawiane automatycznie w czasach określonych w usłudze 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);
    }
    
  • Zdarzenia CONTENT_PAUSE_REQUESTED i CONTENT_RESUME_REQUESTED są używane do wstrzymywania i wznawiania odtwarzania treści w trakcie przerw na reklamę. Szczegółowe informacje o tych zdarzeniach znajdziesz w odpowiedniej dokumentacji interfejsu API.

Uwaga: gdy odtwarzanie treści zostało zakończone lub użytkownik przestał odtwarzać, musisz wywołać AdsLoader.contentComplete, aby zasygnalizować SDK, że treść została zakończona. Następnie SDK odtwarza przerwę na reklamę po filmie, jeśli została ona zaplanowana. Zdarzenie ALL_ADS_COMPLETED jest wywoływane po odtworzeniu WSZYSTKIE przerw na reklamę. Pamiętaj też, że śledzenie treści rozpoczyna się po wywołaniu tagu init() i przed wywołaniem odtwarzania zawsze należy wywołać metodę init().