Automatyczne playlisty reklamowe

Wybierz platformę: HTML5 Android iOS tvOS

Pakiet IMA Android SDK obsługuje w pełni zautomatyzowane listy odtwarzania reklam. Ta funkcja wstawia przerwy na reklamy do treści zgodnie z ustawieniami w Google Ad Managerze podczas kierowania reklam. Znacznie upraszcza też kod odtwarzacza wideo niezbędny do obsługi przerw na reklamy, w tym reklam przed filmem, w trakcie filmu i po filmie.

  • Podczas kierowania reklam w usłudze Ad Manager można określić różne reguły reklamowe, np. „zawsze odtwarzaj przerwę na reklamę na początku treści” lub „odtwarzaj 1-minutową przerwę na reklamę co 30 minut treści”.
  • Gdy wysyłane są żądania reklam, serwer reklam może zwrócić playlistę reklam. Pakiet SDK przetwarza listę odtwarzania i automatycznie planuje przerwy reklamowe, które zostały określone.
  • Android używa tego samego odtwarzacza do odtwarzania reklam i treści. Jeśli planujesz wdrożyć reguły reklamowe, musisz zapisać pozycję głowicy odtwarzającej treści, gdy rozpocznie się reklama, a następnie przejść do tej pozycji po zakończeniu reklamy. Pamiętaj, aby w odtwarzaczu wideo zaimplementować interfejs VideoAdPlayer. Dzięki temu przerwy na reklamę będą wstawiane automatycznie w czasie określonym w Ad Managerze.
    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_REQUESTEDCONTENT_RESUME_REQUESTED służą do wstrzymywania i wznawiania treści podczas przerw na reklamy. Szczegółowe informacje o tych zdarzeniach znajdziesz w odpowiedniej dokumentacji interfejsu API.

Uwaga: gdy odtwarzanie treści dobiegnie końca lub użytkownik je zatrzyma, wywołaj funkcję AdsLoader.contentComplete, aby poinformować pakiet SDK, że treść została odtworzona. Pakiet SDK odtwarza wtedy blok reklamowy po filmie, jeśli został zaplanowany. Zdarzenie ALL_ADS_COMPLETED jest wywoływane, gdy zostaną odtworzone WSZYSTKIE przerwy na reklamę. Pamiętaj też, że śledzenie treści rozpoczyna się po wywołaniu funkcji init(). Zawsze wywołuj funkcję init() przed odtworzeniem treści.