กฎของโฆษณา

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() เสมอ ก่อนที่จะเล่นเนื้อหา