Anzeigenplaylists automatisieren

Plattform auswählen:HTML5 Android iOS tvOS

Das IMA SDK für Android unterstützt vollständig automatisierte Anzeigen-Playlists. Bei der Auslieferung Ihrer Anzeigen werden mit dieser Funktion Werbeunterbrechungen in die Inhalte eingefügt, wie in Google Ad Manager angegeben. Außerdem wird der Videoplayer-Code, der für die Unterstützung von Werbeunterbrechungen, einschließlich Pre-Rolls, Mid-Rolls und Post-Rolls, erforderlich ist, erheblich vereinfacht.

  • Beim Trafficking der Anzeigen in Ad Manager können verschiedene Anzeigenregeln angegeben werden, z. B. „Werbeunterbrechung immer am Anfang des Inhalts einfügen“ oder „alle 30 Minuten eine einminütige Werbeunterbrechung einfügen“.
  • Wenn Anzeigen angefordert werden, kann der Ad-Server eine Anzeigen-Playlist zurückgeben. Das SDK verarbeitet die Playlist und plant automatisch die angegebenen Werbeunterbrechungen.
  • Da Android denselben Videoplayer für die Wiedergabe von Anzeigen und Inhalten verwendet, müssen Sie, wenn Sie Anzeigenregeln implementieren möchten, die Playhead-Position Ihres Inhalts speichern, wenn eine Anzeige beginnt, und dann zu dieser Position zurückkehren, wenn die Anzeige endet. Achten Sie darauf, dass Sie die VideoAdPlayer-Schnittstelle in Ihrem Videoplayer implementieren. So wird dafür gesorgt, dass Werbeunterbrechungen automatisch zu den in Ad Manager angegebenen Zeiten eingefügt werden.
    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);
    }
  • Die Ereignisse CONTENT_PAUSE_REQUESTED und CONTENT_RESUME_REQUESTED werden verwendet, um die Wiedergabe von Inhalten während Werbeunterbrechungen zu pausieren und fortzusetzen. Weitere Informationen zu diesen Ereignissen finden Sie in der entsprechenden API-Dokumentation.

Hinweis:Wenn die Wiedergabe der Inhalte beendet ist oder der Nutzer die Wiedergabe beendet hat, müssen Sie AdsLoader.contentComplete aufrufen, um dem SDK zu signalisieren, dass die Inhalte beendet sind. Das SDK spielt dann die Post-Roll-Werbeunterbrechung ab, sofern eine geplant wurde. Das Ereignis ALL_ADS_COMPLETED wird ausgelöst, wenn ALLE Werbeunterbrechungen wiedergegeben wurden. Außerdem beginnt die Inhaltsverfolgung, wenn init() aufgerufen wird. Sie sollten init() immer vor der Wiedergabe von Inhalten aufrufen.