כללי מודעות

IMA Android SDK תומך בפלייליסטים אוטומטיים לחלוטין של מודעות. התכונה הזו מוסיפה הפסקות למודעות בתוכן, Google Ad Manager בזמן ניהול הטראפיק למודעות שלכם. הוא גם מפשט משמעותית את הקוד של נגן הווידאו שנדרשות כדי לתמוך בהפסקות למודעות, כולל מודעות לפני הסרטון (pre-roll), מודעות באמצע הסרטון (mid-roll) ומודעות בסוף הסרטון (post-roll).

  • בניהול הטראפיק של המודעות ב-Ad Manager, אפשר לציין כללים שונים של מודעות כמו "תמיד להפעיל את ההפסקה למודעות בתחילת התוכן" או "Play a one הפסקה למודעה אחת בכל 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() לפני שמפעילים את התוכן.