אוטומציה של פלייליסטים של מודעות

הפלטפורמה: HTML5 Android iOS tvOS

‫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() לפני הפעלת תוכן.