L'SDK IMA per Android supporta le playlist annuncio completamente automatiche. Questa funzionalità inserisce le interruzioni pubblicitarie nei contenuti come specificato in Google Ad Manager durante la gestione del traffico degli annunci. Inoltre, semplifica notevolmente il codice video player necessario per supportare le interruzioni pubblicitarie, tra cui pre-roll, mid-roll e post-roll.
- Quando gestisci il traffico degli annunci in Ad Manager, puoi specificare varie regole per gli annunci, ad esempio "Riproduci sempre l'interruzione pubblicitaria all'inizio dei contenuti" o "Riproduci un'interruzione pubblicitaria di un minuto ogni 30 minuti di contenuti".
- Quando gli annunci vengono richiesti, l'ad server può restituire una playlist di annunci. L'SDK elabora la playlist e pianifica automaticamente le interruzioni pubblicitarie specificate.
- Poiché Android utilizza lo stesso video player sia per la riproduzione di annunci che per i contenuti, se prevedi di implementare le regole per gli annunci, devi salvare la posizione della testina di riproduzione dei tuoi contenuti quando inizia un annuncio, quindi cercare la posizione in questione al termine dell'annuncio.
Assicurati di implementare l'interfaccia
VideoAdPlayer
nel video player. Ciò garantisce che le interruzioni pubblicitarie vengano inserite automaticamente nei momenti specificati in Ad Manager.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); } - Gli eventi
CONTENT_PAUSE_REQUESTED
eCONTENT_RESUME_REQUESTED
vengono utilizzati per mettere in pausa e riprendere i contenuti durante la riproduzione delle interruzioni pubblicitarie. Per informazioni dettagliate su questi eventi, consulta la documentazione dell'API pertinente.
Nota: quando la riproduzione dei contenuti è terminata o l'utente ha interrotto la riproduzione, assicurati di chiamare AdsLoader.contentComplete per segnalare all'SDK che i contenuti sono stati completati. L'SDK
riproduce quindi l'interruzione pubblicitaria post-roll, se pianificata. L'evento ALL_ADS_COMPLETED
viene generato quando sono state riprodotte TUTTE le interruzioni pubblicitarie. Inoltre, tieni presente che il monitoraggio dei contenuti inizia quando
viene richiamato init()
e dovresti chiamare sempre init()
prima di riprodurre i contenuti.