Trong application.js, hãy tạo lớp chính cho ứng dụng HbbTV tương tác với chương trình phát sóng HbbTV. Lớp này tương tác với broadcastAppManager và broadcastContainer. Để xem ví dụ về một lớp tương tự, hãy xem
phần Xử lý đối tượng a/v chương trình phát sóng.
Sửa đổi ứng dụng HbbTV cơ sở này để yêu cầu một luồng IMA và phản hồi các sự kiện khoảng thời gian quảng cáo.
Khởi động ứng dụng
Khởi động lớp ứng dụng trong application.js, thiết lập
broadcastAppManager, và broadcastContainer theo hướng dẫn
Xử lý đối tượng a/v chương trình phát sóng.
Sau đó, hãy khởi tạo các đối tượng VideoPlayer và AdManager mới.
Tạo yêu cầu luồng IMA
Trong phương thức HbbTVApp.onPlayStateChangeEvent(), hãy tạo yêu cầu luồng để phản hồi việc ứng dụng chuyển sang PRESENTING_PLAYSTATE. Phương pháp này giúp ứng dụng của bạn chuẩn bị tải tệp kê khai nhóm quảng cáo để phản hồi sự kiện AD_BREAK_EVENT_ANNOUNCE.
Nếu thiết bị của bạn không phát đúng sự kiện PlayStateChange của vùng chứa chương trình phát sóng, hãy sử dụng hàm setInterval() để kiểm tra các thay đổi về trạng thái phát:
setInterval(function() {
if (!subscribedToStreamEvents &&
this.broadcastContainer.playState == PRESENTING_PLAYSTATE) {
subscribedToStreamEvents = true;
this.broadcastContainer.addStreamEventListener(
STREAM_EVENT_URL, 'eventItem', function(event) {
this.onStreamEvent(event);
}.bind(this));
debugView.log('Subscribing to stream events');
this.adManager.requestStream(NETWORK_CODE, CUSTOM_ASSET_KEY);
}
…
Theo dõi các sự kiện luồng HbbTV
Tạo phương thức HbbTVApp.onStreamEvent() để theo dõi các sự kiện khoảng thời gian quảng cáo adBreakAnnounce, adBreakStart và adBreakEnd:
Xử lý các sự kiện luồng HbbTV
Để xử lý các sự kiện luồng HbbTV, hãy hoàn tất các bước sau:
Để tải tệp kê khai nhóm quảng cáo để phản hồi sự kiện
adBreakAnnounce, hãy tạo phương thứcHbbTVApp.onAdBreakAnnounce():Để chuyển sang phát luồng quảng cáo trong khoảng thời gian quảng cáo, hãy tạo phương thức
HbbTVApp.onAdBreakStart():Để quay lại chương trình phát sóng nội dung, hãy tạo phương thức
HbbTVApp.onAdBreakEnd():
Giờ đây, bạn đang yêu cầu và hiển thị các nhóm quảng cáo IMA SDK trong ứng dụng HbbTV. Để so sánh ứng dụng của bạn với một ứng dụng mẫu đã hoàn tất, hãy xem mẫu IMA HbbTV trên GitHub.