قوانین آگهی

IMA Android SDK از لیست پخش تبلیغات کاملاً خودکار پشتیبانی می کند. این ویژگی هنگام قاچاق تبلیغات شما، شکست های تبلیغاتی را همانطور که در Google Ad Manager مشخص شده است در محتوا قرار می دهد. همچنین کد پخش‌کننده ویدیو را که برای پشتیبانی از وقفه‌های تبلیغاتی ضروری است، از جمله قبل از پخش، میان پخش و پس از پخش، ساده‌تر می‌کند.

  • هنگام قاچاق تبلیغات در Ad Manager، می‌توان قوانین تبلیغاتی مختلفی مانند «همیشه در ابتدای محتوا پخش شود» یا «هر 30 دقیقه یک محتوا یک دقیقه استراحت آگهی پخش شود» را مشخص کرد.
  • هنگامی که تبلیغات درخواست می شود، سرور تبلیغات می تواند لیست پخش آگهی را برگرداند. SDK لیست پخش را پردازش می کند و به طور خودکار وقفه های تبلیغاتی مشخص شده را برنامه ریزی می کند.
  • از آنجایی که Android از پخش‌کننده ویدیوی یکسانی هم برای پخش آگهی و هم برای پخش محتوا استفاده می‌کند، اگر می‌خواهید قوانین آگهی را پیاده‌سازی کنید، باید هنگام شروع تبلیغ، جایگاه پخش محتوای خود را ذخیره کنید، سپس پس از پایان آگهی، آن موقعیت را جستجو کنید. حتما رابط VideoAdPlayer را در پخش کننده ویدیو خود پیاده سازی کنید. این تضمین می کند که وقفه های تبلیغاتی به طور خودکار در زمان های مشخص شده در 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);
    }
    
  • رویدادهای CONTENT_PAUSE_REQUESTED و CONTENT_RESUME_REQUESTED برای توقف موقت و از سرگیری محتوا هنگام پخش وقفه های تبلیغاتی استفاده می شود. برای جزئیات بیشتر در مورد این رویدادها به اسناد API مربوطه مراجعه کنید.

توجه: وقتی پخش محتوا تمام شد یا کاربر پخش را متوقف کرد، حتماً با AdsLoader.contentComplete تماس بگیرید تا به SDK پیام دهید که محتوا تمام شده است. SDK سپس وقفه تبلیغاتی پس از پخش را پخش می کند، در صورتی که برنامه ریزی شده باشد. رویداد ALL_ADS_COMPLETED زمانی مطرح می‌شود که همه وقفه‌های تبلیغاتی پخش شده باشند. علاوه بر این، توجه داشته باشید که ردیابی محتوا با فراخوانی init() شروع می شود و همیشه باید قبل از پخش محتوا init() را فراخوانی کنید.