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 tuân thủ VAST nào và quản lý việc phát quảng cáo trong ứng dụng của bạn. Với SDK DAI của IMA, các ứng dụng sẽ đưa ra yêu cầu về luồng cho quảng cáo và video nội dung – có thể là nội dung VOD hoặc nội dung trực tiếp. Sau đó, SDK sẽ trả về một luồng video kết hợp, nhờ đó bạn không phải quản lý việc chuyển đổi giữa quảng cáo và video nội dung trong ứng dụng của mình.
Chọn giải pháp DAI mà bạn quan tâm
DAI phân phát nhóm
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 tuân thủ VAST nào và quản lý việc phát quảng cáo trong ứng dụng của bạn. Với SDK DAI của IMA, các ứng dụng sẽ đưa ra yêu cầu về luồng cho quảng cáo và video nội dung – có thể là nội dung VOD hoặc nội dung trực tiếp. Sau đó, SDK sẽ trả về một luồng video kết hợp, nhờ đó bạn không phải quản lý việc chuyển đổi giữa quảng cáo và video nội dung trong ứng dụng của mình.
Hướng dẫn này minh hoạ cách phát một luồng Phân phát nhóm DAI bằng cách sử dụng IMA DAI SDK với một trình phát video để phát luồng trực tiếp và luồng VOD. Để xem hoặc làm theo một mẫu tích hợp hoàn chỉnh, hãy tải ví dụ về việc phân phát nhóm quảng cáo xuống.
Tổng quan về cơ chế Phân phát nhóm DAI của IMA
StreamRequest
: Một đối tượng xác định yêu cầu truyền phát đến các 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, còncreatePodStreamRequest
cũng yêu cầu Khoá tài sản tuỳ chỉnh và khoá API (không bắt buộc). Cả hai đều có 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 DAI của IMA, chẳng hạn như gửi ping theo dõi và chuyển tiếp các sự kiện luồng phát đế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 DAI của IMA để 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 bắt đầu. BasicExample có cơ sở mã được tham chiếu trong hướng dẫn này.
Điều quan trọng là ứng dụng của bạn phải gửi các sự kiện ID3 bằng
VideoStreamPlayerCallback.onUserTextReceived()
để IMA DAI hoạt động. Hãy 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
Tất cả cá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 luồng video do trình thao tác tệp kê khai hoặc đối tác bên thứ ba của bạn cung cấp bằng cách sử dụng tính năng Phân phát nhóm. Bạn phải chèn mã nhận dạng luồng do IMA DAI SDK cung cấp trước khi đưa ra yêu cầu. Trong trường hợp này, URL luồng phát có một phần giữ chỗ là"[[STREAMID]]"
. Phần giữ chỗ này sẽ được thay thế bằng mã nhận dạng luồng phát 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á tài sản tuỳ chỉnh xác định sự kiện Phân phát nhóm quảng cáo của bạn trong Ad Manager 360. Tham số này có thể được tạo bởi 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 Livestream – Khoá API không bắt buộc mà bạn có thể cần để truy xuất mã nhận dạng luồng phát từ SDK DAI của IMA.
Android DAI BasicExample được thiết kế để phát nhiều loại luồng phát khác nhau, nhưng đối với tính năng Phân phát nhóm, ứng dụng này chỉ được thiết lập để phát một luồng phát duy nhất. Thay đổi phần biến của ví dụ cho phù hợp với phần sau:
Tạo yêu cầu luồng nhóm phát trực tiếp hoặc VOD để bật tính năng Phân phát nhóm
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 yêu cầu quảng cáo Live Pod Serving.
Phân phát nhóm luồng VOD
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 VOD.
Sau khi tạo phiên bản yêu cầu phát trực tiếp, hãy yêu cầu phát trực tiếp bằng cách sử dụng AdsLoader.requestStream()
:
Chỉnh sửa và thiết lập URL luồng phát
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ã nhận dạng luồng phát. Bạn cần chèn mã này vào STEAM_URL
để thay thế "[[STREAMID]]"
. Sau khi thay đổi này được thực hiện, hãy đặt URL mới của luồng phát 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 luồng VOD
- Gọi phương thức
StreamManager.getStreamId()
để lấy mã nhận dạng luồng phát. - Yêu cầu đối tác công nghệ video (VTP) cung cấp URL phát trực tiếp.
- 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 tiếp, hãy thêm các lệnh gọi videoPlayer.setStreamUrl()
và videoPlayer.play()
vào lệnh gọi lại VideoStreamPlayer.loadUrl()
:
Dọn dẹp các thành phần DAI của IMA
Khi đã hoàn tất việc yêu cầu và hiển thị quảng cáo trong luồng Phân phát theo nhóm bằng SDK DAI của IMA, bạn nên dọn dẹp mọi tài nguyên sau khi phiên Phân phát theo nhóm hoàn tất. Gọi StreamManager.destroy()
để dừng phát nội dung phát trực tiếp, dừng tất cả hoạt động theo dõi quảng cáo và giải phóng tất cả các thành phần nội dung phát trực tiếp đã tải.
Để xem các ví dụ khác về cách sử dụng Android SDK, hãy xem các mẫu trên GitHub.