إعداد قوائم تشغيل إعلانية تلقائيًا

اختيار النظام الأساسي: HTML5 Android iOS tvOS

تتيح حزمة تطوير البرامج لإعلانات الوسائط التفاعلية على Android إمكانية إنشاء قوائم تشغيل إعلانات آلية بالكامل. تُدرج هذه الميزة فواصل إعلانية في المحتوى على النحو المحدّد في إدارة إعلانات Google عند عرض إعلاناتك. ويبسّط أيضًا بشكل كبير رمز مشغّل الفيديو اللازم لعرض فواصل إعلانية، بما في ذلك الإعلانات قبل التشغيل وأثناء التشغيل وبعد التشغيل.

  • عند عرض الإعلانات في "مدير إعلانات Google"، يمكن تحديد قواعد إعلانية مختلفة، مثل "عرض فاصل إعلاني دائمًا في بداية المحتوى" أو "عرض فاصل إعلاني مدته دقيقة واحدة كل 30 دقيقة من المحتوى".
  • عند طلب الإعلانات، يمكن لخادم الإعلانات عرض قائمة تشغيل إعلانات. تعالج حزمة SDK قائمة التشغيل وتجدول تلقائيًا الفواصل الإعلانية التي تم تحديدها.
  • بما أنّ نظام التشغيل Android يستخدم مشغّل الفيديو نفسه لتشغيل الإعلانات والمحتوى، إذا كنت تخطّط لتنفيذ قواعد الإعلانات، عليك حفظ موضع رأس التشغيل للمحتوى عند بدء عرض الإعلان، ثم الانتقال إلى هذا الموضع عند انتهاء عرض الإعلان. احرص على تنفيذ واجهة VideoAdPlayer في مشغّل الفيديو. يضمن ذلك إدراج الفواصل الإعلانية تلقائيًا في الأوقات المحدّدة في "مدير إعلانات Google".
    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 لإيقاف المحتوى مؤقتًا واستئنافه عند تشغيل فواصل إعلانية. يُرجى الرجوع إلى مستندات واجهة برمجة التطبيقات ذات الصلة للحصول على تفاصيل حول هذه الأحداث.

ملاحظة: عند انتهاء تشغيل المحتوى أو توقّف المستخدم عن تشغيله، احرص على استدعاء AdsLoader.contentComplete لإعلام حزمة تطوير البرامج (SDK) بأنّ المحتوى قد انتهى. بعد ذلك، تعرض حزمة تطوير البرامج (SDK) فاصل الإعلانات ما بعد التشغيل، إذا تم تحديد موعد له. يتم عرض الحدث ALL_ADS_COMPLETED عند تشغيل جميع الفواصل الإعلانية. بالإضافة إلى ذلك، يُرجى العِلم أنّ تتبُّع المحتوى يبدأ عند استدعاء init()، ويجب دائمًا استدعاء init() قبل تشغيل المحتوى.