กฎของโฆษณา

IMA Android SDK รองรับเพลย์ลิสต์โฆษณาแบบอัตโนมัติทั้งหมด ฟีเจอร์นี้จะแทรกช่วงพักโฆษณาในเนื้อหาตามที่ระบุไว้ใน Google Ad Manager เมื่อดูแลการแสดงโฆษณา นอกจากนี้ยังช่วยให้โค้ดโปรแกรมเล่นวิดีโอง่ายขึ้นอย่างมาก เพื่อรองรับช่วงพักโฆษณา รวมถึงโฆษณาตอนต้น ตอนกลาง และตอนท้าย

  • เมื่อดูแลการแสดงโฆษณาใน Ad Manager คุณระบุกฎต่างๆ ของโฆษณาได้ เช่น "เล่นช่วงพักโฆษณาเสมอในช่วงต้นของเนื้อหา" หรือ "เปิดช่วงพักโฆษณา 1 นาทีทุก 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() ก่อนเล่นเนื้อหาเสมอ