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 điểm 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ông cụ này cũng đơn giản hoá đáng kể mã trình phát video cần thiết để hỗ trợ các đ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 các quy tắc quảng cáo khác nhau 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 một phút chèn quảng cáo 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 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 đã đã 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 lẫn nội dung, nếu định triển khai quy tắc quảng cáo, bạn phải lưu vị trí con trỏ vị trí 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. Hãy nhớ triển khai giao diện VideoAdPlayer trong video của bạn trình phát. Điều này đảm bảo rằng điểm chèn quảng cáo sẽ tự động được chèn vào thời gian quy đị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);
    }
    
  • CONTENT_PAUSE_REQUESTEDCONTENT_RESUME_REQUESTED các sự kiện được dùng để tạm dừng và tiếp tục nội dung khi các điểm chèn quảng cáo được phát. Giới thiệu theo tài liệu 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 cho SDK biết rằng nội dung đã hoàn tất. SDK sau đó phát điểm chèn quảng cáo sau video nếu đã được lên lịch. Chiến lược phát hành đĩa đơn Sự kiện ALL_ADS_COMPLETED được thực hiện khi TẤT CẢ điểm chèn quảng cáo đã được chơi. Ngoài ra, xin lưu ý rằng hoạt động theo dõi nội dung bắt đầu khi init() sẽ được gọi và bạn phải luôn gọi init() trước khi phát nội dung.