Menangani beberapa permintaan iklan dengan UserContext

Sebagian besar penggunaan IMA SDK hanya memerlukan pengelolaan permintaan iklan satu per satu. Namun, beberapa implementasi kasus ekstrem, seperti melakukan pramuat data iklan sebelum pengguna memilih video, mungkin memerlukan pembuatan beberapa permintaan serentak. Karena permintaan iklan dibuat secara asinkron, memastikan Ad Manager yang tepat dikaitkan dengan konteks yang benar tampaknya menjadi tugas yang menantang.

Untuk menyederhanakan proses membedakan beberapa Ad Manager, IMA SDK untuk HTML5 memungkinkan penayang meneruskan nilai atau objek apa pun ke kolom UserContext dari setiap permintaan iklan. Nilai atau objek ini selanjutnya dapat diambil di pengendali AdsManagerLoadedEvent, dengan menggunakan metode getUserRequestContext().

Contoh

...
adsLoader.addEventListener(
      google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,
      onAdsManagerLoaded,
      false);
adsLoader.addEventListener(
      google.ima.AdErrorEvent.Type.AD_ERROR,
      onAdsManagerError,
      false);
const contextA = {id: "Request A", element: videoElementA};
const contextB = {id: "Request B", element: videoElementB}
adsLoader.requestAds(adsRequestA, contextA);
adsLoader.requestAds(adsRequestB, contextB);
...

function onAdsManagerLoaded(adsManagerLoadedEvent) {
  const context = adsManagerLoadedEvent.getUserRequestContext();
  adsManager = adsManagerLoadedEvent.getAdsManager(context.element);
  console.log("Successfully loaded ID: " + context.id);
}

function onAdsManagerError(adsManagerErrorEvent) {
  const context = adsManagerErrorEvent.getUserRequestContext();
  console.log("Error with AdRequest ID: " + context.id);
}
...