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