IMA Android SDK'sı, tamamen otomatik reklam oynatma listelerini destekler. Bu özellik, reklamlarınız trafiğe eklenirken Google Ad Manager'da belirtildiği şekilde içeriğe reklam araları ekler. Ayrıca, videodan önce gösterilen reklamlar, videonun ortasında gösterilen reklamlar ve videodan sonra gösterilen reklamlar dahil olmak üzere reklam aralarını desteklemek için gereken video oynatıcı kodunu büyük ölçüde basitleştirir.
- Ad Manager'da reklam trafiği oluştururken "içeriğin başında her zaman reklam arası oynat" veya "her 30 dakikalık içerikte bir dakikalık reklam arası oynat" gibi çeşitli reklam kuralları belirtmek mümkündür.
- Reklam istendiğinde reklam sunucusu bir reklam oynatma listesi döndürebilir. SDK, oynatma listesini işler ve belirtilen reklam aralarını otomatik olarak planlar.
- Android, hem reklam hem de içerik oynatma için aynı video oynatıcıyı kullandığından, reklam kurallarını uygulamayı planlıyorsanız reklam başladığında içeriğinizin oynatma başlığı konumunu kaydetmeniz, reklam bittiğinde ise bu konuma gitmeniz gerekir.
Video oynatıcınızda
VideoAdPlayer
arayüzünü uyguladığınızdan emin olun. Bu sayede, reklam aralarının Ad Manager'da belirtilen zamanlarda otomatik olarak eklenmesi sağlanır.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); } - Reklam araları oynatıldığında içeriği duraklatmak ve devam ettirmek için
CONTENT_PAUSE_REQUESTED
veCONTENT_RESUME_REQUESTED
etkinlikleri kullanılır. Bu etkinliklerle ilgili ayrıntılar için ilgili API belgelerine bakın.
Not: İçerik oynatıldıktan sonra veya kullanıcı oynatmayı durdurduktan sonra, içeriğin tamamlandığını SDK'ya bildirmek için AdsLoader.contentComplete'i çağırdığınızdan emin olun. SDK daha sonra, planlanmışsa videodan sonra gösterilen reklam arasını oynatır. TÜM reklam araları oynatıldığında ALL_ADS_COMPLETED
etkinliği tetiklenir. Ayrıca, içerik izlemenin init()
çağrıldığında başladığını ve içeriği oynatmadan önce her zaman init()
çağrısı yapmanız gerektiğini unutmayın.