Tự động hoá danh sách phát quảng cáo

Chọn nền tảng: HTML5 Android iOS tvOS

SDK Android của IMA hỗ trợ danh sách phát quảng cáo hoàn toàn tự động. Tính năng này chèn các điểm chèn quảng cáo vào nội dung theo quy định trong Google Ad Manager khi bạn phân phối quảng cáo. Tính năng này cũng giúp đơn giản hoá đáng kể mã trình phát video cần thiết để hỗ trợ điểm chèn quảng cáo, bao gồm cả quảng cáo đầu video, giữa video và cuối video.

  • Khi phân phát quảng cáo trong Ad Manager, bạn có thể chỉ định nhiều quy tắc quảng cáo, chẳng hạn như "luôn phát điểm chèn quảng cáo ở đầu nội dung" hoặc "phát điểm chèn quảng cáo dài một phút sau mỗi 30 phút nội dung".
  • Khi quảng cáo được yêu cầu, máy chủ quảng cáo có thể trả về một danh sách phát quảng cáo. SDK này xử lý danh sách phát và tự động lên lịch cho các điểm chèn quảng cáo đã được chỉ định.
  • Vì Android sử dụng cùng một trình phát video cho cả quảng cáo và nội dung phát lại, nên nếu dự định triển khai quy tắc quảng cáo, bạn phải lưu vị trí đầu phát của nội dung khi quảng cáo bắt đầu, sau đó tìm đến vị trí đó khi quảng cáo kết thúc. Nhớ triển khai giao diện VideoAdPlayer trong trình phát video của bạn. Điều này đảm bảo rằng quảng cáo xen giữa được tự động chèn vào thời điểm được chỉ định trong 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);
    }
  • Các sự kiện CONTENT_PAUSE_REQUESTEDCONTENT_RESUME_REQUESTED được dùng để tạm dừng và tiếp tục nội dung khi điểm chèn quảng cáo được phát. Hãy tham khảo tài liệu về API có liên quan để biết thông tin chi tiết về các sự kiện này.

Lưu ý: Khi nội dung đã phát xong hoặc người dùng đã dừng phát, hãy nhớ gọi AdsLoader.contentComplete để báo hiệu cho SDK rằng nội dung đã phát xong. Sau đó, SDK sẽ phát khoảng thời gian chèn quảng cáo sau video (nếu có). Sự kiện ALL_ADS_COMPLETED sẽ được kích hoạt khi TẤT CẢ các điểm chèn quảng cáo đã được phát. Ngoài ra, xin lưu ý rằng hoạt động theo dõi nội dung bắt đầu khi init() được gọi và bạn phải luôn gọi init() trước khi phát nội dung.