Reklam oynatma listelerini otomatikleştirme

Platform seçin: HTML5 Android iOS tvOS

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 ve CONTENT_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.