فهرست‌های پخش آگهی را خودکارسازی کنید

پلاتفرم را انتخاب کنید: HTML5 Android iOS tvOS

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

  • هنگام ارسال آگهی‌ها در Ad Manager، می‌توان قوانین آگهی مختلفی را مشخص کرد، مانند «همیشه وقفه آگهی در ابتدای محتوا پخش شود» یا «هر ۳۰ دقیقه محتوا یک وقفه آگهی یک دقیقه‌ای پخش شود».
  • وقتی آگهی درخواست می‌شود، سرور آگهی می‌تواند فهرست پخش آگهی برگرداند. کیت توسعه نرم‌افزار فهرست پخش را پردازش می‌کند و وقفه‌های آگهی مشخص‌شده را به‌طور خودکار زمان‌بندی می‌کند.
  • ازآنجایی‌که 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 را فراخوانی کنید تا به «کیت توسعه نرم‌افزار» اطلاع دهید که محتوا تمام شده است. سپس کیت توسعه نرم‌افزار وقفه آگهی پایان پخش را، درصورت زمان‌بندی شدن، پخش می‌کند. رویداد ALL_ADS_COMPLETED زمانی ایجاد می‌شود که همه وقفه‌های آگهی پخش شده باشند. علاوه‌براین، توجه داشته باشید که ردیابی محتوا زمانی شروع می‌شود که init() فراخوانی شود و همیشه باید init() را قبل‌از پخش محتوا فراخوانی کنید.