Hướng dẫn này minh hoạ cách tích hợp SDK IMA DAI vào một ứng dụng trình phát video. Nếu bạn muốn xem hoặc làm theo một mẫu tích hợp hoàn chỉnh, hãy tải ví dụ đơn giản xuống từ GitHub.
Tổng quan về IMA DAI
Việc triển khai SDK IMA DAI bao gồm hai thành phần chính như được minh hoạ trong hướng dẫn này:
StreamRequest–VODStreamRequesthoặcLiveStreamRequest: Đối tượng xác định yêu cầu về luồng. Yêu cầu về luồng có thể là video theo yêu cầu hoặc sự kiện phát trực tiếp. Yêu cầu phát trực tiếp chỉ định khoá thành phần, trong khi yêu cầu VOD chỉ định mã CMS và mã video. Cả hai loại yêu cầu đều có thể bao gồm khoá API cần thiết để truy cập vào các luồng được chỉ định và mã mạng Google Ad Manager để IMA SDK xử lý giá trị nhận dạng quảng cáo như được chỉ định trong phần cài đặt Google Ad Manager.StreamManager: Một đối tượng xử lý các luồng chèn quảng cáo động và hoạt động 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 quảng cáo và luồng đến nhà xuất bản.
Điều kiện tiên quyết
- Ba tệp trống
- dai.html
- dai.css
- dai.js
- Python được cài đặt trên máy tính của bạn hoặc máy chủ web để sử dụng cho mục đích thử nghiệm
Khởi động máy chủ phát triển
Vì IMA DAI SDK tải các phần phụ thuộc bằng cùng một giao thức với trang mà SDK được tải, nên bạn cần sử dụng máy chủ web để kiểm thử ứng dụng. Cách nhanh chóng để khởi động máy chủ phát triển cục bộ là sử dụng máy chủ tích hợp sẵn của Python.
Sử dụng dòng lệnh, từ thư mục chứa tệp
index.htmlcủa bạn, hãy chạy:python -m http.server 8000Trong trình duyệt web, hãy truy cập vào
http://localhost:8000/Bạn cũng có thể sử dụng bất kỳ máy chủ web nào khác, chẳng hạn như Máy chủ HTTP Apache.
Tạo trình phát video
Trước tiên, hãy sửa đổi dai.html để tạo một phần tử video HTML5 và một div để sử dụng cho lượt nhấp qua. Ví dụ sau đây nhập SDK IMA DAI. Để biết thêm thông tin, hãy xem phần Nhập SDK IMA DAI.
Ngoài ra, hãy thêm các thẻ cần thiết để tải tệp dai.css và dai.js, cũng như nhập trình phát video hls.js. Sau đó, hãy sửa đổi dai.css để chỉ định kích thước và vị trí của các phần tử trang.
Cuối cùng, trong dai.js, hãy xác định các biến để lưu giữ thông tin yêu cầu luồng phát, một hàm initPlayer() để chạy khi tải trang và thiết lập nút phát để yêu cầu luồng phát khi nhấp vào.
Để tiếp tục phát trong các điểm chèn quảng cáo trong lúc tạm dừng, hãy thiết lập trình nghe sự kiện cho các sự kiện pause và start của phần tử video để hiện và ẩn các nút điều khiển trình phát.
Tải IMA DAI SDK
Tiếp theo, hãy thêm khung IMA bằng thẻ tập lệnh trong dai.html, trước thẻ cho dai.js.
Khởi động StreamManager
Để yêu cầu một nhóm quảng cáo, hãy tạo một ima.dai.api.StreamManager. Đối tượng này chịu trách nhiệm yêu cầu và quản lý các luồng DAI. Hàm khởi tạo này lấy một phần tử video và một phần tử trên giao diện người dùng quảng cáo để xử lý các lượt nhấp vào quảng cáo.
Tạo yêu cầu phát trực tiếp
Xác định các hàm để yêu cầu luồng. Ví dụ này bao gồm các hàm cho cả VOD và sự kiện phát trực tiếp, tạo các thực thể của lớp VODStreamRequest và lớp LiveStreamRequest. Sau khi bạn có thực thể streamRequest, hãy gọi phương thức streamManager.requestStream() bằng thực thể yêu cầu luồng.
Cả hai phương thức yêu cầu luồng đều sử dụng một khoá API không bắt buộc. Nếu đang sử dụng một luồng được bảo vệ, bạn cần tạo khoá xác thực DAI. Để biết thêm thông tin, hãy xem bài viết Xác thực yêu cầu luồng video DAI.
Cả hai luồng trong ví dụ này đều không được bảo vệ bằng khoá xác thực DAI, vì vậy, apiKey không được sử dụng.
Phân tích cú pháp siêu dữ liệu của luồng
Bạn cũng cần thêm một trình xử lý để nghe các sự kiện siêu dữ liệu theo thời gian và chuyển tiếp các sự kiện đó đến lớp StreamManager để IMA phát ra các sự kiện quảng cáo trong thời gian nghỉ quảng cáo:
Hướng dẫn này sử dụng trình phát hls.js để phát trực tuyến, nhưng việc triển khai siêu dữ liệu của bạn phụ thuộc vào loại trình phát mà bạn sử dụng.
Xử lý sự kiện luồng
Triển khai trình nghe sự kiện cho các sự kiện video chính. Ví dụ này xử lý các sự kiện LOADED, ERROR, AD_BREAK_STARTED và AD_BREAK_ENDED bằng cách gọi hàm onStreamEvent(). Hàm này xử lý việc tải luồng, lỗi luồng và tắt các nút điều khiển trình phát trong khi phát quảng cáo, đây là yêu cầu của IMA SDK.
Khi luồng được tải, trình phát video sẽ tải và phát URL được cung cấp bằng hàm loadUrl().
Vậy là xong! Giờ đây, bạn đang yêu cầu và hiển thị quảng cáo bằng SDK IMA DAI. Để tìm hiểu thêm về các tính năng nâng cao của SDK, hãy xem các hướng dẫn khác hoặc mẫu trên GitHub.