IMA SDK memudahkan pengintegrasian iklan multimedia ke dalam situs dan aplikasi Anda. IMA SDK dapat minta iklan dari semua server iklan yang sesuai dengan VAST dan mengelola pemutaran iklan di aplikasi Anda. Dengan IMA DAI SDK, aplikasi membuat permintaan streaming untuk iklan dan video konten—baik VOD maupun konten live. SDK kemudian menampilkan gabungan streaming video, sehingga Anda tidak perlu mengelola peralihan antara iklan dan video konten dalam aplikasi Anda.
Pilih solusi DAI yang Anda minati
Pod yang menyalurkan DAI
IMA SDK memudahkan pengintegrasian iklan multimedia ke dalam situs dan aplikasi Anda. IMA SDK dapat minta iklan dari semua server iklan yang sesuai dengan VAST dan mengelola pemutaran iklan di aplikasi Anda. Dengan IMA DAI SDK, aplikasi membuat permintaan streaming untuk iklan dan video konten—baik VOD maupun konten live. SDK kemudian menampilkan gabungan streaming video, sehingga Anda tidak perlu mengelola peralihan antara iklan dan video konten dalam aplikasi Anda.
Panduan ini menunjukkan cara memutar streaming Penayangan Pod DAI menggunakan IMA DAI SDK dengan pemutar video sederhana untuk pemutaran streaming live dan VOD. Jika Anda ingin yang ingin melihat atau mengikuti integrasi contoh yang telah selesai, unduh contoh inferensi pod.
Ringkasan Penayangan Pod IMA DAI
StreamRequest
: Objek yang menentukan permintaan aliran data untuk server iklan Google. Harus dibuat menggunakanImaSdkFactory.createPodStreamRequest()
atauImaSdkFactory.createPodVodStreamRequest()
untuk mengaktifkan inferensi pod. Metode ini memerlukan Kode Jaringan, dancreatePodStreamRequest
juga memerlukan Kunci Aset Kustom, dan API key opsional. Keduanya menyertakan parameter opsional lainnya.StreamManager
: Objek yang menangani komunikasi antara streaming video dan IMA DAI SDK, seperti mengaktifkan ping pelacakan dan meneruskan peristiwa streaming ke penayang.
Prasyarat
Aplikasi Android yang sudah disiapkan dengan IMA DAI SDK untuk memutar streaming video iklan DAI. Jika Anda belum memiliki aplikasi semacam itu, sebaiknya gunakan DAI Android BasicExample sebagai titik awal ini. BasicExample memiliki codebase yang dirujuk dalam panduan ini.
Penting bagi aplikasi Anda untuk mengirim peristiwa ID3 menggunakan
VideoStreamPlayerCallback.onUserTextReceived()
agar IMA DAI dapat berfungsi. Lihat Contoh cuplikan kode DAI layanan lengkap ini.
Menyiapkan variabel penayangan pod
Semua perubahan yang diperlukan untuk penayangan pod dilakukan di SampleAdsWrapper.java. Tujuan langkah pertama adalah memperbarui variabel konstan.
Berikut adalah konstanta permintaan streaming pod iklan yang akan ditambahkan:
STREAM_URL
: Hanya digunakan untuk Livestream - URL streaming video yang disediakan oleh manipulator manifes atau partner pihak ketiga yang menggunakan inferensi pod. Seharusnya mengharuskan Anda menyisipkan ID streaming yang disediakan oleh IMA DAI SDK, sebelum membuat permintaan. Dalam hal ini, URL streaming mencakup placeholder,"[[STREAMID]]"
, yang diganti dengan ID aliran data, sebelum membuat permintaan.NETWORK_CODE
: Kode jaringan untuk akun Ad Manager 360 Anda.CUSTOM_ASSET_KEY
: Hanya digunakan untuk Livestream - Kunci aset kustom yang mengidentifikasi peristiwa penayangan pod di Ad Manager 360. Hal ini dapat dibuat dengan manipulator manifes atau partner inferensi pod pihak ketiga.API_KEY
: Hanya digunakan untuk Livestream - Kunci API opsional yang dapat untuk mengambil ID streaming dari IMA DAI SDK.
BasicExample DAI Android dirancang untuk memutar berbagai streaming yang berbeda tetapi untuk inferensi pod, disiapkan agar hanya memutar satu streaming. Ubah bagian variabel contoh agar cocok dengan yang berikut:
/** This class adds ad-serving support to Sample HlsVideoPlayer */
public class SampleAdsWrapper
implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {
// Podserving Stream Constants.
private static final String STREAM_URL =
"https://encodersim.sandbox.google.com/masterPlaylist/9c654d63-5373-4673-8c8d-6d92b66b9d46/" +
"master.m3u8?gen-seg-redirect=true&network=51636543&event=google-sample" +
"&pids=devrel4628000,devrel896000,devrel3528000,devrel1428000,devrel2628000,devrel1928000" +
"&seg-host=dai.google.com&stream_id=[[STREAMID]]";
private static final String NETWORK_CODE = "51636543";
private static final String CUSTOM_ASSET_KEY = "google-sample";
private static final String API_KEY = "";
private static final String PLAYER_TYPE = "DAISamplePlayer";
/** Log interface, so we can output the log commands to the UI or similar. */
public interface Logger {
...
Buat permintaan streaming pod live atau VOD untuk mengaktifkan penayangan pod
Penayangan pod live stream
Hapus metode buildStreamRequest()
yang telah digunakan untuk beralih antar
membangun berbagai jenis aliran data. Kemudian, ubah requestAndPlayAds()
untuk memanggil
ImaSdkFactory.createPodStreamRequest()
untuk membuat iklan penayangan pod Live
permintaan. Terakhir, minta streaming menggunakan AdsLoader.requestStream()
.
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
Penayangan pod streaming VOD
Hapus metode buildStreamRequest()
yang telah digunakan untuk beralih antar
membangun berbagai jenis aliran data. Kemudian, ubah requestAndPlayAds()
untuk memanggil
ImaSdkFactory.createPodVodStreamRequest()
untuk membuat iklan penayangan pod VOD
permintaan. Terakhir, minta streaming menggunakan AdsLoader.requestStream()
.
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
Mengedit dan menetapkan URL streaming
Penayangan pod live stream
Panggil StreamManager.getStreamId()
untuk mendapatkan ID streaming. Hal ini kemudian perlu
disisipkan ke dalam STEAM_URL
yang menggantikan "[[STREAMID]]"
. Setelah perubahan ini akan
dibuat, URL streaming baru dapat disetel menggunakan videoPlayer.setStreamUrl()
.
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
String streamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);
streamManager.init();
videoPlayer.setStreamUrl(streamUrl);
videoPlayer.play();
}
Penayangan pod streaming VOD
Panggil StreamManager.getStreamId()
untuk mendapatkan ID streaming. Kemudian, minta
URL streaming dari partner teknologi video (VTP) Anda. Lalu panggil
StreamManager.loadThirdPartyStream()
agar IMA memuat URL streaming dan semua
subtitel yang ditampilkan oleh TVP Anda.
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
// 'vtpInterface' is a place holder for your own video technology partner
// (VTP) API calls.
String streamUrl = vtpInterface.requestStreamURL(streamID);
streamManager.init();
// Pass any subtitles returned by your VTP in this step as well.
streamManager.loadThirdPartyStream(streamUrl, subtitles);
}
Saat penayangan pod diaktifkan, IMA tidak melakukan panggilan ke
VideoStreamPlayer.loadUrl()
, jadi Anda dapat menghapus semua panggilan ke
videoPlayer.setStreamUrl()
dan videoPlayer.play()
dari objek tersebut.
Selesai. Sekarang Anda meminta dan menampilkan iklan dalam pod yang menayangkan streaming dengan IMA DAI SDK. Untuk melihat contoh lain Android SDK yang digunakan, lihat ke sampel di GitHub.