Reklam kuralları

IMA Android SDK'sı, tamamen otomatik reklam oynatma listelerini destekler. Bu özellik, reklamlarınızı trafiğe eklerken Google Ad Manager'da belirtildiği gibi reklam aralarını ekler. 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 da büyük ölçüde basitleştirir.

  • Ad Manager'da reklamları trafiğe eklerken "her zaman içeriğin başında reklam arası oynat" veya "Her 30 dakikada bir içerik arasını oynat" gibi çeşitli reklam kuralları belirtebilirsiniz.
  • 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 bir reklam başladığında içeriğinizin video yer konumunu kaydetmelisiniz, ardından reklam tamamlandığında bu konuma gitmeniz gerekir. Video oynatıcınızda VideoAdPlayer arayüzünü uyguladığınızdan emin olun. Bu, reklam aralarının Ad Manager'da belirtilen zamanlarda otomatik olarak eklenmesini sağlar.
    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);
    }
    
  • CONTENT_PAUSE_REQUESTED ve CONTENT_RESUME_REQUESTED etkinlikleri, reklam araları oynatıldığında içeriği duraklatmak ve devam ettirmek için kullanılır. Bu etkinliklerle ilgili ayrıntılar için ilgili API dokümanlarına bakın.

Not: İçeriğin oynatılması bittiğinde veya kullanıcı oynatmayı durdurduğunda SDK'ya içeriğin bittiğini belirtmek için AdsLoader.contentComplete kodunu çağırdığınızdan emin olun. SDK, planlandığında videodan sonra gösterilen reklam arasını oynatır. TÜM reklam araları oynatıldığında ALL_ADS_COMPLETED etkinliği artar. Ayrıca, içerik izleme işleminin init() arandığında başladığını ve içerik oynatmadan önce her zaman init() yöntemini çağırmanız gerektiğini unutmayın.