Menyiapkan IMA SDK untuk DAI

IMA SDK mempermudah integrasi iklan multimedia ke dalam situs dan aplikasi Anda. IMA SDK dapat meminta iklan dari server iklan yang kompatibel dengan VAST dan mengelola pemutaran iklan di aplikasi Anda. Dengan IMA DAI SDK, aplikasi membuat permintaan streaming untuk video iklan dan konten—baik konten VOD maupun live. Kemudian, SDK akan menampilkan streaming video gabungan, sehingga Anda tidak perlu mengelola peralihan antara video iklan dan konten dalam aplikasi Anda.

Pilih solusi DAI yang Anda minati

DAI Penayangan Pod

IMA SDK mempermudah integrasi iklan multimedia ke dalam situs dan aplikasi Anda. IMA SDK dapat meminta iklan dari server iklan yang kompatibel dengan VAST dan mengelola pemutaran iklan di aplikasi Anda. Dengan IMA DAI SDK, aplikasi membuat permintaan streaming untuk video iklan dan konten—baik konten VOD maupun live. Kemudian, SDK akan menampilkan streaming video gabungan, sehingga Anda tidak perlu mengelola peralihan antara video iklan dan konten dalam aplikasi Anda.

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 contoh integrasi yang sudah selesai, download contoh Penayangan Pod.

Ringkasan Penayangan Pod DAI IMA

  • StreamRequest: Objek yang menentukan permintaan streaming ke server iklan Google. Harus dibuat menggunakan ImaSdkFactory.createPodStreamRequest() atau ImaSdkFactory.createPodVodStreamRequest() untuk mengaktifkan Penayangan Pod. Metode ini memerlukan Kode Jaringan, dan createPodStreamRequest 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 mengirimkan ping pelacakan dan meneruskan peristiwa streaming ke penayang.

Prasyarat

Menyiapkan variabel Penayangan Pod

Semua perubahan yang diperlukan untuk Penayangan Pod dilakukan di SampleAdsWrapper.java. Langkah pertama adalah memperbarui variabel konstanta.

Berikut konstanta permintaan streaming pod iklan yang akan ditambahkan:

  • STREAM_URL: Hanya digunakan untuk Live stream - URL streaming video yang disediakan oleh manipulator manifes atau partner pihak ketiga menggunakan Penayangan Pod. Anda harus memasukkan ID streaming yang diberikan oleh IMA DAI SDK, sebelum Anda 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 acara Penayangan Pod Anda di Ad Manager 360. Pod ini dapat dibuat oleh manipulator manifes Anda 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 memutar satu streaming saja. Ubah bagian variabel contoh agar sesuai dengan yang berikut:

/** This class implements IMA to add pod ad-serving support to SampleVideoPlayer */
@SuppressLint("UnsafeOptInUsageError")
/* @SuppressLint is needed for new media3 APIs. */
public class SampleAdsWrapper
    implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {

  // Set up the pod serving variables.
  private static final String NETWORK_CODE = "";
  private static final String CUSTOM_ASSET_KEY = "";
  private static final String API_KEY = "";
  private static final String STREAM_URL = "";
  private static final StreamFormat STREAM_FORMAT = StreamFormat.HLS;

Membuat permintaan streaming pod live atau VOD untuk mengaktifkan Penayangan Pod

Penayangan Pod Live stream

Hapus metode buildStreamRequest() yang telah digunakan untuk beralih di antara pembuatan berbagai jenis streaming. Kemudian, ubah requestAndPlayAds() untuk memanggil ImaSdkFactory.createPodStreamRequest() guna membuat permintaan iklan Penayangan Pod Live.

// Live pod stream request.
request = sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);

Penayangan Pod streaming VOD

Hapus metode buildStreamRequest() yang telah digunakan untuk beralih di antara pembuatan berbagai jenis streaming. Kemudian, ubah requestAndPlayAds() untuk memanggil ImaSdkFactory.createPodVodStreamRequest() guna membuat permintaan iklan Penayangan Pod VOD.

// VOD pod stream request.
request = sdkFactory.createPodVodStreamRequest(NETWORK_CODE);

Setelah membuat instance permintaan streaming, minta streaming menggunakan AdsLoader.requestStream():

request.setFormat(STREAM_FORMAT);
adsLoader.requestStream(request);

Mengedit dan menyetel URL streaming

Penayangan Pod Live stream

Panggil metode StreamManager.getStreamId() untuk mendapatkan ID streaming. Ini perlu disisipkan ke dalam STEAM_URL untuk menggantikan "[[STREAMID]]". Setelah perubahan ini dilakukan, tetapkan URL streaming baru menggunakan metode videoPlayer.setStreamUrl() dan panggil metode videoPlayer.play() untuk memulai pemutaran streaming.

// Play the live pod stream.
streamID = streamManager.getStreamId();
String liveStreamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);
// Call videoPlayer.play() here, because IMA doesn't call the VideoStreamPlayer.loadUrl()
// function for livestreams.
videoPlayer.setStreamUrl(liveStreamUrl);
videoPlayer.play();

Penayangan Pod streaming VOD

  1. Panggil metode StreamManager.getStreamId() untuk mendapatkan ID streaming.
  2. Minta URL streaming dari partner teknologi video (VTP) Anda.
  3. Setelah menerima URL dari VTP, panggil metode StreamManager.loadThirdPartyStream() dengan URL untuk memuat streaming, bersama dengan semua subtitel yang ditampilkan VTP.
// Play the VOD pod stream.
streamID = streamManager.getStreamId();
String vodStreamUrl = "";
// Refer to your Video Tech Partner (VTP) or video stitching guide to fetch the stream URL
// and the subtitles for a the ad stitched VOD stream.

// In the following commented out code, 'vtpInterface' is a place holder
// for your own video technology partner (VTP) API calls.
// vodStreamUrl = vtpInterface.requestStreamURL(streamID);
List<Map<String, String>> subtitles = new ArrayList<>();
streamManager.loadThirdPartyStream(vodStreamUrl, subtitles);

Untuk permintaan Penayangan Pod VOD, IMA memanggil callback VideoStreamPlayer.loadUrl() saat streaming telah dimuat. Untuk memulai pemutaran streaming, tambahkan panggilan videoPlayer.setStreamUrl() dan videoPlayer.play() ke callback VideoStreamPlayer.loadUrl():

private VideoStreamPlayer createVideoStreamPlayer() {
  return new VideoStreamPlayer() {
    @Override
    public void loadUrl(String url, List<HashMap<String, String>> subtitles) {
      // IMA doesn't make calls to VideoStreamPlayer.loadUrl() for pod serving live streams.
      // The following code is for VOD streams.
      videoPlayer.setStreamUrl(url);
      videoPlayer.play();
    }

Membersihkan aset IMA DAI

Setelah Anda berhasil menyelesaikan permintaan dan menampilkan iklan di streaming Penayangan Pod dengan IMA DAI SDK, sebaiknya Anda membersihkan semua resource setelah sesi Penayangan Pod selesai. Panggil StreamManager.destroy() untuk menghentikan pemutaran streaming, menghentikan semua pelacakan iklan, dan melepaskan semua aset streaming yang dimuat.

Untuk melihat contoh lain penggunaan Android SDK, lihat contoh di GitHub.