Anzeigenregeln

Das IMA SDK für Android unterstützt vollautomatische Anzeigen-Playlists. Mit dieser Funktion werden beim Trafficking Ihrer Anzeigen Werbeunterbrechungen in den Content eingefügt, die in Google Ad Manager angegeben sind. Außerdem wird damit der Videoplayercode erheblich vereinfacht, um Werbeunterbrechungen wie Pre-Rolls, Mid-Rolls und Post-Rolls zu unterstützen.

  • Beim Trafficking der Anzeigen in Ad Manager lassen sich verschiedene Anzeigenregeln angeben, z. B. „Werbeunterbrechungen immer am Anfang des Contents abspielen“ oder „Eine einminütige Werbeunterbrechung alle 30 Minuten abspielen“.
  • Wenn Anzeigen angefordert werden, kann der Ad-Server eine Anzeigenplaylist zurückgeben. Das SDK verarbeitet die Playlist und plant automatisch die angegebenen Werbeunterbrechungen.
  • Da Android für die Wiedergabe von Anzeigen und Inhalten denselben Videoplayer verwendet, müssen Sie die Position des Abspielkopfs beim Start einer Anzeige speichern und dann nach dem Ende der Anzeige an dieser Position suchen, wenn Sie Anzeigenregeln implementieren möchten. Implementiere die VideoAdPlayer-Schnittstelle in deinem Videoplayer. So wird sichergestellt, dass die Werbeunterbrechungen zu den in Ad Manager angegebenen Zeiten automatisch 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);
    }
    
  • Mit den Ereignissen CONTENT_PAUSE_REQUESTED und CONTENT_RESUME_REQUESTED wird der Content pausiert und fortgesetzt, wenn Werbeunterbrechungen wiedergegeben werden. Weitere Informationen zu diesen Ereignissen finden Sie in der entsprechenden API-Dokumentation.

Hinweis:Wenn der Inhalt vollständig wiedergegeben wurde oder der Nutzer die Wiedergabe beendet hat, muss AdsLoader.contentComplete aufgerufen werden, um dem SDK zu signalisieren, dass der Inhalt fertig ist. Das SDK spielt dann die Post-Roll-Werbeunterbrechung ab, sofern eine geplant ist. Das Ereignis ALL_ADS_COMPLETED wird ausgelöst, wenn ALLE Werbeunterbrechungen wiedergegeben wurden. Beachte außerdem, dass das Inhalts-Tracking mit dem Aufruf von init() beginnt. Du solltest init() daher immer vor dem Abspielen von Inhalten aufrufen.