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
undCONTENT_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.