Bắt đầu sử dụng IMA SDK trên HbbTV

SDK IMA DAI hỗ trợ tích hợp vào một ứng dụng trình phát video HbbTV tối thiểu. SDK IMA DAI cho phép nhu cầu của Google Ad Manager đối với luồng quảng cáo băng thông rộng đi kèm với luồng nội dung phát sóng. Hướng dẫn này trình bày cách tải tệp kê khai quảng cáo dựa trên dữ liệu sự kiện quảng cáo từ luồng phát sóng.

Để xem hoặc làm theo một mẫu tích hợp đã hoàn tất, hãy tải xuống Ứng dụng mẫu tuyến tính HbbTV bằng SDK IMA HTML5 DAI. Để hỗ trợ các thiết bị TV cũ, hướng dẫn này và ứng dụng mẫu trên GitHub được viết bằng JavaScript ES5.

Để biết thông tin về cách tích hợp với các nền tảng không phải HbbTV khác, hãy xem SDK quảng cáo trên phương tiện tương tác.

Điều kiện tiên quyết

Trước khi tiếp tục với hướng dẫn này, hãy xác nhận rằng bạn có những điều sau:

  • Để sử dụng IMA DAI, bạn phải có tài khoản Ad Manager 360 Nâng cao. Nếu có tài khoản Ad Manager, hãy liên hệ với người quản lý tài khoản để biết thêm thông tin. Để biết thông tin về cách đăng ký Ad Manager, hãy truy cập vào Trung tâm trợ giúp Ad Manager.
  • Một ứng dụng HbbTV tương tác với đối tượng phát sóng để phát nội dung nghe nhìn. Để biết thêm thông tin, hãy xem bài viết Đối tượng AV phát sóng HbbTV.
  • Một phiên bản dash.js hỗ trợ tải trước. Bạn nên sử dụng phiên bản 4.6.0 trở lên.
  • Một máy chủ web để lưu trữ ứng dụng.
  • Một môi trường thử nghiệm có luồng phát sóng DVB. Để biết hướng dẫn chi tiết về cách thiết lập môi trường thử nghiệm, hãy xem bài viết Chạy ứng dụng HbbTV.
    • Luồng phát sóng: Chuẩn bị một luồng phát sóng chứa dữ liệu Bảng thông tin ứng dụng (AIT) tuỳ chỉnh. Bạn cũng cần có một cách để truyền luồng phát sóng để TV nhận. Bạn có thể sử dụng bộ điều biến DVB để truyền luồng phát sóng hoặc các phương thức khác.
    • Máy chủ web: Lưu trữ ứng dụng HbbTV trên một máy chủ web mà TV có thể truy cập.
  • Một sự kiện phát trực tiếp có loại Tệp kê khai phân phát nhóm. Để tạo sự kiện, hãy xem bài viết Thiết lập sự kiện phát trực tiếp cho DAI.

Tạo luồng phát sóng tương thích

Ứng dụng HbbTV của bạn sử dụng broadcastContainer.addStreamEventListener() để theo dõi các sự kiện luồng HbbTV trong luồng phát sóng. Để tải và phát quảng cáo đúng cách, bạn phải thiết lập luồng phát sóng bằng các loại sự kiện sau để đưa vào tải trọng chuỗi JSON được liên kết:

  • AD_BREAK_EVENT_ANNOUNCE - {"type":"adBreakAnnounce", "pod_id":1,"duration":90, "offset":10}
  • AD_BREAK_EVENT_START - {"type":"adBreakStart"}
  • AD_BREAK_EVENT_END - {"type":"adBreakEnd"}

Đối với các sự kiện này, hãy đưa vào tải trọng chuỗi JSON bằng streamEvent.type. Để hỗ trợ tải trước quảng cáo, sự kiện AD_BREAK_EVENT_ANNOUNCE phải bao gồm streamEvent.durationstreamEvent.offset. Để biết thêm thông tin, hãy xem bài viết Theo dõi các sự kiện luồng HbbTV. Để thiết lập luồng phát sóng, hãy xem ví dụ về luồng truyền tải MPEG được ghép kênh. Để sử dụng luồng ví dụ, bạn phải cập nhật URL bảng thông tin ứng dụng cho thiết lập luồng của riêng mình.

Tạo sự kiện phát trực tiếp phân phát nhóm

Để phân phát quảng cáo cho ứng dụng HbbTV, bạn cần có một sự kiện phát trực tiếp phân phát nhóm. Để biết thông tin về cách thiết lập sự kiện, hãy xem bài viết Thiết lập sự kiện phát trực tiếp cho DAI. Để truy cập vào luồng mà bạn thiết lập, ứng dụng phải có các biến sau:

  • NETWORK_CODE: Mã mạng Ad Manager để yêu cầu quảng cáo.
  • CUSTOM_ASSET_KEY: Khoá thành phần tuỳ chỉnh Ad Manager được tạo trong quá trình thiết lập sự kiện phát trực tiếp cho DAI.

Tạo cấu trúc tệp ứng dụng

Hướng dẫn này sử dụng cấu trúc tệp tương tự như ứng dụng mẫu IMA HbbTV. Để làm theo hướng dẫn này, hãy tạo các tệp sau:

  • index.html: Chỉ mục HTML cho ứng dụng của bạn.
  • Style.css: Kiểu CSS cho ứng dụng của bạn.
  • application.js: Điểm truy cập JS chính. Quản lý trạng thái phát và điểm chèn quảng cáo.
  • video_player.js: Quản lý trình phát dash.js dùng để phát quảng cáo.
  • ads_manager.js: Quản lý quá trình thiết lập IMA, yêu cầu luồng và xử lý sự kiện.

ads_manager.js thiết lập SDK IMA DAI. Các thành phần sau đây triển khai SDK IMA DAI:

  • PodStreamRequest: Một đối tượng xác định yêu cầu luồng đến các máy chủ quảng cáo của Google.
  • StreamManager: Một đối tượng xử lý các luồng chèn quảng cáo động và tương tác với phần phụ trợ DAI. Trình quản lý luồng cũng xử lý các ping theo dõi và chuyển tiếp các sự kiện luồng và quảng cáo đến nhà xuất bản.

Để biết hướng dẫn chi tiết về cách thiết lập môi trường thử nghiệm, hãy tham khảo hướng dẫn này về cách chạy ứng dụng HbbTV.

Tải SDK IMA DAI và DASH.js

Để bắt đầu phát luồng quảng cáo phát sóng, hãy tải SDK IMA DAI và dash.js vào ứng dụng của bạn. Trước thẻ application.js, hãy thêm dash.js và khung IMA bằng cách sử dụng thẻ tập lệnh trong index.html.

<script src="https://cdn.jsdelivr.net/npm/dashjs@latest/dist/dash.all.min.js"></script>
<script src="//imasdk.googleapis.com/js/sdkloader/ima3_dai.js"></script>

Tiếp theo, hãy tạo một lớp trình bao bọc trình phát video để khởi động và kiểm soát trình phát dash.js.