IMA SDK memudahkan integrasi iklan multimedia ke dalam situs dan aplikasi Anda. IMA SDK dapat meminta iklan dari 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 streaming video gabungan, sehingga Anda tidak perlu mengelola peralihan antara iklan dan video konten dalam aplikasi.
Memilih solusi DAI yang Anda minati
Penayangan Pod DAI
IMA SDK memudahkan integrasi iklan multimedia ke dalam situs dan aplikasi Anda. IMA SDK dapat meminta iklan dari 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 streaming video gabungan, sehingga Anda tidak perlu mengelola peralihan antara iklan dan video konten dalam aplikasi.
Panduan ini menunjukkan cara memutar streaming Penayangan Pod DAI, menggunakan IMA DAI SDK dengan pemutar video untuk pemutaran streaming live dan VOD. Untuk melihat atau mengikuti integrasi contoh yang telah selesai, download contoh Penyertaan Pod.
Ringkasan Penayangan Pod DAI IMA
StreamRequest
: Objek yang menentukan permintaan streaming ke server iklan Google. Harus dibuat menggunakanImaSdkFactory.createPodStreamRequest()
atauImaSdkFactory.createPodVodStreamRequest()
untuk mengaktifkan Penayangan Pod. Metode ini memerlukan Kode Jaringan, dancreatePodStreamRequest
juga memerlukan Kunci Aset Kustom, dan kunci API opsional. Keduanya menyertakan parameter opsional lainnya.StreamManager
: Objek yang menangani komunikasi antara streaming video dan IMA DAI SDK, seperti memicu ping pelacakan dan meneruskan peristiwa streaming ke penayang.
Prasyarat
Aplikasi Android yang sudah disiapkan dengan IMA DAI SDK untuk memutar streaming video dengan iklan DAI. Jika Anda belum memiliki aplikasi tersebut, sebaiknya gunakan Android DAI BasicExample sebagai titik awal. BasicExample memiliki codebase yang dirujuk dalam panduan ini.
Aplikasi Anda harus 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. Langkah pertama adalah memperbarui variabel konstan.
Berikut adalah konstanta permintaan aliran data pod iklan yang akan ditambahkan:
STREAM_URL
: Hanya digunakan untuk Live Stream - URL streaming video yang disediakan oleh manipulator manifes atau partner pihak ketiga Anda menggunakan Penayangan Pod. Anda harus memasukkan ID streaming yang disediakan oleh IMA DAI SDK sebelum membuat permintaan. Dalam hal ini, URL streaming menyertakan placeholder,"[[STREAMID]]"
, yang diganti dengan ID streaming, 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. Ini dapat dibuat oleh manipulator manifes atau partner Penayangan Pod pihak ketiga.API_KEY
: Hanya digunakan untuk Livestream - Kunci API opsional yang dapat diperlukan untuk mengambil ID streaming dari IMA DAI SDK.
Android DAI BasicExample dirancang untuk memutar berbagai jenis streaming, tetapi untuk Penayangan Pod, aplikasi ini disiapkan untuk 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 {
...
Membuat permintaan streaming pod live atau VOD untuk mengaktifkan Penayangan Pod
Penyertaan Pod Live stream
Hapus metode buildStreamRequest()
yang telah digunakan untuk beralih antara
mem-build berbagai jenis streaming. Kemudian, ubah requestAndPlayAds()
untuk memanggil
ImaSdkFactory.createPodStreamRequest()
guna membuat permintaan iklan
Penayangan Pod Live. 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 antara
mem-build berbagai jenis streaming. Kemudian, ubah requestAndPlayAds()
untuk memanggil
ImaSdkFactory.createPodVodStreamRequest()
guna membuat permintaan iklan
Penayangan Pod VOD. 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
Penyertaan Pod Live stream
Panggil StreamManager.getStreamId()
untuk mendapatkan ID aliran data. Kemudian, kode ini harus
disisipkan ke dalam STEAM_URL
yang menggantikan "[[STREAMID]]"
. Setelah perubahan ini
dilakukan, URL streaming baru dapat ditetapkan 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 aliran data. Kemudian, minta
URL streaming dari partner teknologi video (VTP) Anda. Kemudian, panggil
StreamManager.loadThirdPartyStream()
agar IMA memuat URL streaming dan
subtitel apa pun 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);
}
Jika Penyertaan Pod diaktifkan, IMA tidak akan melakukan panggilan ke
VideoStreamPlayer.loadUrl()
, sehingga Anda dapat menghapus panggilan apa pun ke
videoPlayer.setStreamUrl()
dan videoPlayer.play()
darinya.
Membersihkan aset DAI IMA
Setelah berhasil menyelesaikan permintaan dan menampilkan iklan di streaming
Penayangan Pod dengan IMA DAI SDK, sebaiknya bersihkan resource apa pun setelah
sesi Penayangan Pod selesai. Panggil StreamManager.destroy()
untuk menghentikan pemutaran streaming, menghentikan semua pelacakan iklan, dan merilis semua aset streaming yang dimuat.
Untuk melihat contoh lain Android SDK yang digunakan, lihat contoh di GitHub.