Trong ads_manager.js, hãy xác định một lớp trình bao bọc cho StreamManager của SDK IMA để tạo yêu cầu về luồng, lấy tệp kê khai nhóm quảng cáo, theo dõi các sự kiện luồng IMA và truyền các sự kiện emsg đến SDK IMA.
Trong ads_manager.js, ứng dụng mẫu IMA HbbTV thiết lập các phương thức sau:
requestStream()onStreamEvent()onEmsgEvent()loadAdPodManifest()
Khởi chạy trình quản lý quảng cáo
Khởi chạy lớp trình quản lý quảng cáo và thiết lập trình theo dõi cho các sự kiện luồng IMA. Trong lệnh gọi này, hãy thiết lập trình xử lý sự kiện emsg bằng phương thức VideoPlayer.setEmsgEventHandler().
Đưa ra yêu cầu về luồng nhóm quảng cáo
Tạo phương thức AdManager.requestStream() để tạo đối tượng PodStreamRequest bằng mã mạng Google Ad Manager và khoá thành phần tuỳ chỉnh của luồng. Kiểm thử ứng dụng HbbTV bằng luồng phân phát nhóm DASH mẫu IMA với các tham số luồng sau:
- Mã mạng:
'21775744923' - Khoá thành phần tuỳ chỉnh:
'hbbtv-dash'
Theo dõi các sự kiện luồng quảng cáo
Tạo phương thức AdManager.onStreamEvent() để xử lý phản hồi của ứng dụng đối với các sự kiện luồng IMA, STREAM_INITIALIZED, AD_BREAK_STARTED và AD_BREAK_ENDED.
Xử lý siêu dữ liệu luồng quảng cáo
Để truyền thông tin sự kiện emsg đến IMA, hãy tạo phương thức AdManager.onEmsgEvent() bằng phương thức StreamManager.processMetadata(). Lớp trình phát video gọi phương thức này bằng phương thức VideoPlayer.setEmsgEventHandler().
Tải tệp kê khai nhóm quảng cáo
Tạo phương thức AdManager.loadAdPodManifest() để tải trước tệp kê khai nhóm quảng cáo bằng trình phát video. Tạo URL tệp kê khai đã xác thực bằng
cấu trúc trong Phương thức: Tệp kê khai nhóm DASH.
Ứng dụng mẫu
HbbTV
sử dụng giá trị duy nhất được tạo ngẫu nhiên adBreakId. Trong các ứng dụng sản xuất, giá trị adBreakId là một chuỗi gồm chữ và số (ví dụ: ab-001) tăng thêm một cho mỗi điểm chèn quảng cáo. Xác minh rằng giá trị adBreakId là giá trị giống nhau cho tất cả người xem (điểm) chèn quảng cáo. Để lấy giá trị adBreakId, chúng tôi
khuyên bạn nên sử dụng
API khoảng thời gian quảng cáo DAI.
Trong môi trường sản xuất, hãy đưa giá trị adBreakId và giá trị podDuration vào sự kiện luồng HbbTV AD_BREAK_ANNOUNCE.
auth-token
Tiếp theo, hãy tạo lớp ứng dụng chính cho ứng dụng HbbTV tương tác với chương trình phát sóng HbbTV.