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 Google Ad Manager yêu cầu luồng quảng cáo băng thông rộng đi kèm với luồng nội dung truyền hình. Hướng dẫn này trình bày về 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 truyền tin.
Để 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 truyền hình truyền thống HbbTV có SDK DAI IMA HTML5. Để hỗ trợ các thiết bị TV cũ, hướng dẫn này và ứng dụng mẫu GitHub đang sử dụ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 bài viết SDK quảng cáo trên nội dung đa 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 đảm bảo bạn có:
- Để sử dụng IMA DAI, bạn phải có tài khoản Ad Manager 360 Advanced. Nếu bạn 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 truyền tin để phát nội dung nghe nhìn. Để biết thêm thông tin, hãy xem phần Đối tượng phát sóng AV HbbTV.
- 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áy chủ web để lưu trữ ứng dụng.
- Môi trường thử nghiệm có luồng truyền phát DVB. Để biết hướng dẫn chi tiết về cách thiết lập môi trường kiểm thử, hãy xem phần Chạy ứng dụng HbbTV.
- Luồng truyền tin: Chuẩn bị luồng truyền tin chứa dữ liệu Bảng thông tin ứng dụng (AIT) tuỳ chỉnh. Bạn cũng cần có cách truyền luồng truyền tin để TV nhận được. Bạn có thể sử dụng bộ điều chế DVB để truyền luồng truyền tin 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.
- 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 truyền tin tương thích
Ứng dụng HbbTV sử dụng broadcastContainer.addStreamEventListener()
để nghe các sự kiện phát trực tuyến HbbTV trong luồng truyền tin. Để tải và phát quảng cáo đúng cách, bạn phải thiết lập luồng truyền tin của mình bằng các loại sự kiện sau đây để bao gồm 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 thêm tải trọng chuỗi JSON bằng streamEvent.type
. Để hỗ trợ tính năng tải trước quảng cáo, sự kiện AD_BREAK_EVENT_ANNOUNCE
phải bao gồm streamEvent.duration
và streamEvent.offset
. Để biết thêm thông tin, hãy xem phần Nghe sự kiện phát trực tuyến HbbTV.
Để thiết lập luồng truyền tin, hãy xem ví dụ về luồng truyền dẫn MPEG được ghép kênh.
Để sử dụng luồng mẫu, bạn phải cập nhật URL của bảng thông tin ứng dụng để 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 theo 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 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 của Ad Manager được tạo trong quá trình thiết lập luồng 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 đảm bảo bạn tạo các tệp sau:
index.html
: Chỉ mục HTML cho ứng dụng của bạn.Style.css
: Định 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ý việc thiết lập IMA, yêu cầu truyền phát 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 truyền trực tuyến đến các máy chủ quảng cáo của Google.StreamManager
: Một đối tượng xử lý các lượt tương tác và luồng chèn quảng cáo động 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 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 kiểm thử, 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 truyền tin, hãy tải SDK IMA DAI và dash.js vào ứng dụng. 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 tạo và điều khiển trình phát dash.js.