SDK IMA giúp bạn dễ dàng tích hợp quảng cáo đa phương tiện vào trang web và ứng dụng của mình. SDK IMA có thể yêu cầu quảng cáo từ bất kỳ máy chủ quảng cáo nào tuân thủ VAST và quản lý việc phát quảng cáo trong ứng dụng của bạn. Với SDK IMA DAI, các ứng dụng sẽ gửi yêu cầu về luồng cho quảng cáo và video nội dung (nội dung VOD hoặc nội dung phát trực tiếp). Sau đó, SDK sẽ trả về một luồng video kết hợp để bạn không phải quản lý việc chuyển đổi giữa quảng cáo và nội dung video trong ứng dụng.
Hướng dẫn này minh hoạ cách phát luồng Phân phát nhóm DAI bằng SDK IMA DAI với trình phát video để phát luồng trực tiếp và VOD. Để xem hoặc làm theo một quy trình tích hợp mẫu đã hoàn tất, hãy tải Ví dụ về tính năng Phân phát nhóm quảng cáo xuống.
Tổng quan về cơ chế Phân phát nhóm IMA DAI
StreamRequest: Một đối tượng xác định yêu cầu luồng đến máy chủ quảng cáo của Google. Phải được tạo bằngImaSdkFactory.createPodStreamRequest()hoặcImaSdkFactory.createPodVodStreamRequest()để bật tính năng Phân phát nhóm. Các phương thức này yêu cầu Mã mạng, vàcreatePodStreamRequestcũng yêu cầu Khoá thành phần tuỳ chỉnh và Khoá API không bắt buộc. Cả hai đều bao gồm các tham số không bắt buộc khác.StreamManager: Một đối tượng xử lý hoạt động giao tiếp giữa luồng video và SDK IMA DAI, chẳng hạn như kích hoạt ping theo dõi và chuyển tiếp sự kiện luồng đến nhà xuất bản.
Điều kiện tiên quyết
Một ứng dụng Android đã được thiết lập bằng SDK IMA DAI để phát các luồng video có quảng cáo DAI. Nếu chưa có ứng dụng như vậy, bạn nên sử dụng Android DAI BasicExample làm điểm xuất phát. BasicExample có toàn bộ mã nguồn được tham chiếu trong hướng dẫn này.
Ứng dụng của bạn cần gửi sự kiện ID3 bằng
VideoStreamPlayerCallback.onUserTextReceived()để IMA DAI hoạt động. Xem Ví dụ về đoạn mã DAI đầy đủ dịch vụ này.
Thiết lập các biến Phân phát nhóm quảng cáo
Tất cả thay đổi cần thiết cho tính năng Phân phát nhóm đều được thực hiện trong SampleAdsWrapper.java. Bước đầu tiên là cập nhật các biến hằng số.
Sau đây là các hằng số yêu cầu luồng nhóm quảng cáo cần thêm:
STREAM_URL: Chỉ dùng cho sự kiện phát trực tiếp – URL của luồng video do trình thao tác tệp kê khai hoặc đối tác bên thứ ba cung cấp bằng tính năng Phân phát nhóm. Bạn cần phải chèn mã nhận dạng luồng do IMA DAI SDK cung cấp trước khi gửi yêu cầu. Trong trường hợp này, URL của luồng chứa một phần giữ chỗ,"[[STREAMID]]", được thay thế bằng mã luồng trước khi đưa ra yêu cầu.NETWORK_CODE: Mã mạng cho tài khoản Ad Manager 360 của bạn.CUSTOM_ASSET_KEY: Chỉ dùng cho sự kiện phát trực tiếp – Khoá thành phần tuỳ chỉnh giúp xác định sự kiện Phân phát nhóm quảng cáo trong Ad Manager 360. Bạn có thể tạo mã này bằng trình thao tác tệp kê khai hoặc đối tác Phân phát nhóm quảng cáo bên thứ ba.API_KEY: Chỉ dùng cho sự kiện phát trực tiếp – Khoá API không bắt buộc, có thể cần thiết để truy xuất mã luồng phát từ SDK IMA DAI.
Android DAI BasicExample được thiết kế để phát nhiều loại luồng khác nhau, nhưng đối với tính năng Phân phát nhóm, ứng dụng này được thiết lập để chỉ phát một luồng. Thay đổi phần biến của ví dụ cho khớp với phần sau:
Tạo yêu cầu luồng nhóm quảng cáo trực tiếp hoặc VOD để bật tính năng Phân phát nhóm quảng cáo
Phân phát nhóm quảng cáo trong sự kiện phát trực tiếp
Xoá phương thức buildStreamRequest() đã được dùng để chuyển đổi giữa việc tạo nhiều loại luồng. Sau đó, hãy sửa đổi requestAndPlayAds() để gọi ImaSdkFactory.createPodStreamRequest() nhằm tạo một yêu cầu quảng cáo cho tính năng Phân phát nhóm quảng cáo trực tiếp.
Phân phát nhóm quảng cáo trong luồng video theo yêu cầu
Xoá phương thức buildStreamRequest() đã được dùng để chuyển đổi giữa việc tạo nhiều loại luồng. Sau đó, hãy sửa đổi requestAndPlayAds() để gọi ImaSdkFactory.createPodVodStreamRequest() nhằm tạo yêu cầu quảng cáo Phân phát nhóm quảng cáo theo yêu cầu (VOD).
Sau khi tạo thực thể yêu cầu luồng, hãy yêu cầu luồng bằng cách sử dụng AdsLoader.requestStream():
Chỉnh sửa và đặt URL của luồng phát trực tiếp
Phân phát nhóm quảng cáo trong sự kiện phát trực tiếp
Gọi phương thức StreamManager.getStreamId() để lấy mã luồng. Bạn cần chèn giá trị này vào STEAM_URL để thay thế "[[STREAMID]]". Sau khi thực hiện thay đổi này, hãy đặt URL luồng mới bằng phương thức videoPlayer.setStreamUrl() và gọi phương thức videoPlayer.play() để bắt đầu phát luồng.
Phân phát nhóm quảng cáo trong luồng video theo yêu cầu
- Gọi phương thức
StreamManager.getStreamId()để lấy mã luồng. - Yêu cầu URL của luồng phát từ đối tác công nghệ video (VTP).
- Sau khi bạn nhận được URL từ VTP, hãy gọi phương thức
StreamManager.loadThirdPartyStream()bằng URL để tải luồng, cùng với mọi phụ đề mà VTP trả về.
Đối với các yêu cầu Phân phát nhóm VOD, IMA sẽ gọi lệnh gọi lại VideoStreamPlayer.loadUrl() khi luồng đã tải. Để bắt đầu phát trực tuyến, hãy thêm lệnh gọi videoPlayer.setStreamUrl() và videoPlayer.play() vào lệnh gọi lại VideoStreamPlayer.loadUrl():
Dọn dẹp thành phần IMA DAI
Khi bạn đã hoàn tất thành công việc yêu cầu và hiển thị quảng cáo trong một luồng Phân phát nhóm bằng SDK IMA DAI, bạn nên dọn dẹp mọi tài nguyên sau khi phiên Phân phát nhóm hoàn tất. Gọi StreamManager.destroy() để dừng phát trực tuyến, dừng tất cả hoạt động theo dõi quảng cáo và giải phóng tất cả thành phần đã tải của luồng phát trực tuyến.
Để xem các ví dụ khác về cách sử dụng SDK Android, hãy xem các mẫu trên GitHub.