Gérer plusieurs demandes d'annonces

Sélectionnez une plate-forme : HTML5 Android iOS tvOS

La plupart des utilisations du SDK IMA ne nécessitent de gérer qu'une seule demande d'annonce à la fois. Toutefois, certaines implémentations de cas extrêmes, comme le préchargement des données d'annonce avant que l'utilisateur ne sélectionne une vidéo, peuvent nécessiter l'envoi de plusieurs requêtes simultanées. Étant donné que les demandes d'annonces sont effectuées de manière asynchrone, il peut sembler difficile de s'assurer que le bon gestionnaire d'annonces est associé au bon contexte.

Pour simplifier la différenciation de plusieurs gestionnaires d'annonces, le SDK IMA pour HTML5 permet aux éditeurs de transmettre n'importe quelle valeur ou n'importe quel objet au champ UserContext de toute demande d'annonce. Cette valeur ou cet objet peuvent ensuite être récupérés dans le gestionnaire AdsManagerLoadedEvent à l'aide de la méthode getUserRequestContext().

Exemple

...
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);
}
...