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_REQUESTED
iCONTENT_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.