Trong ads_manager.js
, hãy xác định một lớp trình bao bọc cho StreamManager của SDK IMA để đưa ra các yêu cầu về luồng phát, nhận tệp kê khai nhóm quảng cáo, theo dõi các sự kiện luồng phát 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à đặt trình nghe cho các sự kiện phát trực tiếp của IMA. Trong lệnh gọi này, hãy đặt 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á tài sản tuỳ chỉnh của luồng phát. Kiểm thử ứng dụng HbbTV bằng cách sử dụng luồng phân phát nhóm DASH mẫu của IMA với các thông 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 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 một podId
duy nhất được tạo ngẫu nhiên. Trong các ứng dụng phát hành công khai, podId
là một số nguyên bắt đầu từ 1 và tăng thêm 1 cho mỗi khoảng thời gian quảng cáo. Xác minh rằng podId
có cùng giá trị cho tất cả người xem khoảng thời gian quảng cáo. Để nhận podId
, bạn nên sử dụng API Thông báo điểm chèn quảng cáo sớm (EABN). Trong môi trường sản xuất, hãy thêm podId
và podDuration
vào sự kiện luồng HbbTV AD_BREAK_ANNOUNCE
.
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.