Quy tắc quảng cáo

SDK Android 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 phần chèn quảng cáo vào nội dung như đã chỉ định trong Google Ad Manager khi quản lý quảng cáo của bạn. Tính năng này cũng đơ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 trước video, trong video và sau video.

  • Khi quản lý quảng cáo trong Ad Manager, bạn có thể chỉ định nhiều quy tắc quảng cáo như "luôn phát điểm chèn quảng cáo ở đầu nội dung" hoặc "phát một điểm chèn quảng cáo một phút mỗi 30 phút nội dung".
  • Khi có yêu cầu quảng cáo, máy chủ quảng cáo có thể trả về danh sách phát quảng cáo. SDK xử lý danh sách phát và tự động lên lịch 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ả việc phát quảng cáo và nội dung, nên nếu bạn dự định triển khai quy tắc quảng cáo, nên 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 cách chuyển đến vị trí đó khi quảng cáo kết thúc. Hãy 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 điểm chèn quảng cáo được tự động chèn vào các thời điểm đã 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);
    }
    
  • Sự kiện CONTENT_PAUSE_REQUESTEDCONTENT_RESUME_REQUESTED được dùng để tạm dừng và tiếp tục nội dung khi phát điểm chèn quảng cáo. 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 biết nội dung đã hoàn tất. Sau đó, SDK sẽ phát quảng cáo xen giữa video nếu đã được lên lịch. Sự kiện ALL_ADS_COMPLETED được nêu lên khi đã phát TẤT CẢ điểm chèn quảng cáo. Ngoài ra, xin lưu ý rằng tính năng theo dõi nội dung sẽ bắt đầu khi init() được gọi và bạn luôn phải gọi init() trước khi phát nội dung.