Premiers pas avec le SDK IMA DAI

Les SDK IMA facilitent l'intégration d'annonces multimédias dans vos sites Web et applications. Les SDK IMA demander des annonces compatible avec la norme VAST et gérer la lecture des annonces dans vos applications. Avec les SDK IMA DAI, les applications demande de flux pour une annonce et du contenu vidéo (VOD ou en direct). Le SDK renvoie ensuite un flux vidéo combiné, pour vous éviter d'avoir à gérer le basculement entre l'annonce et la vidéo de contenu. dans votre application.

Sélectionnez la solution d'insertion dynamique d'annonce qui vous intéresse

Insertion dynamique de séries d'annonces

Les SDK IMA facilitent l'intégration d'annonces multimédias dans vos sites Web et applications. Les SDK IMA demander des annonces compatible avec la norme VAST et gérer la lecture des annonces dans vos applications. Avec les SDK IMA DAI, les applications demande de flux pour une annonce et du contenu vidéo (VOD ou en direct). Le SDK renvoie ensuite un flux vidéo combiné, pour vous éviter d'avoir à gérer le basculement entre l'annonce et la vidéo de contenu. dans votre application.

Ce guide explique comment diffuser un flux utilisant l'insertion dynamique de séries d'annonces à l'aide de l'outil d'insertion dynamique d'annonces SDK avec un lecteur vidéo simple pour la lecture de flux en direct et à la demande Si vous le souhaitez, que vous souhaitez consulter ou suivre un exemple d'intégration terminé, téléchargez le exemple de diffusion de séries d'annonces.

Présentation de l'insertion dynamique de séries d'annonces d'IMA

  • StreamRequest: objet qui définit une requête de flux à serveurs publicitaires de Google. Doit être créé à l'aide de l'une des méthodes suivantes : ImaSdkFactory.createPodStreamRequest() ou ImaSdkFactory.createPodVodStreamRequest() pour activer la diffusion de pods. Ces méthodes nécessitent un code de réseau. createPodStreamRequest nécessite également une clé d'élément personnalisée et un (Facultatif) Clé API. Tous deux incluent d'autres paramètres facultatifs.

  • StreamManager: objet qui gère la communication entre le flux vidéo et le SDK IMA DAI, comme le déclenchement de pings de suivi le transfert des événements de flux à l'éditeur.

Prérequis

Configurer les variables de diffusion de pods

Toutes les modifications nécessaires à la diffusion de pods sont effectuées dans SampleAdsWrapper.java. La la première étape consiste à mettre à jour les variables constantes.

Voici les constantes des demandes de flux de séries d'annonces à ajouter:

  • STREAM_URL : utilisé uniquement pour les diffusions en direct : URL du flux vidéo fournie par votre outil de manipulation du fichier manifeste ou votre partenaire tiers à l'aide de la diffusion de séries d'annonces. Il doit vous devez insérer l'ID de flux fourni par le SDK IMA DAI avant faire une demande. Dans ce cas, l'URL de flux inclut un espace réservé, "[[STREAMID]]", qui est remplacé par l'ID de flux, avant d'effectuer une requête.

  • NETWORK_CODE: code de réseau de votre compte Ad Manager 360.

  • CUSTOM_ASSET_KEY: uniquement utilisée pour les diffusions en direct. Clé d'élément personnalisée qui identifie l'événement de diffusion de séries d'annonces dans Ad Manager 360. Il peut être créé par votre outil de manipulation du fichier manifeste ou votre partenaire tiers de diffusion de séries d'annonces.

  • API_KEY: uniquement utilisée pour les diffusions en direct (clé API facultative pouvant être pour récupérer un ID de flux à partir du SDK IMA DAI.

L'exemple de base pour l'insertion dynamique d'annonces sur Android est conçu pour lire différents flux mais pour la diffusion de séries d'annonces, elle est configurée pour ne lire qu'un seul flux. Modifiez la section des variables de l'exemple pour qu'elle corresponde à ce qui suit:

/** 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 {

...

Créer une requête de flux de séries d'annonces en direct ou à la demande pour activer la diffusion de séries d'annonces

Diffusion de séries d'annonces en direct

Supprimez la méthode buildStreamRequest() qui a été utilisée pour basculer entre créer différents types de flux. Ensuite, modifiez requestAndPlayAds() pour appeler ImaSdkFactory.createPodStreamRequest() pour créer une annonce de diffusion de séries d'annonces en direct requête. Enfin, demandez le flux à l'aide de 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);
}

Diffusion de séries d'annonces de flux de vidéo à la demande

Supprimez la méthode buildStreamRequest() qui a été utilisée pour basculer entre créer différents types de flux. Ensuite, modifiez requestAndPlayAds() pour appeler ImaSdkFactory.createPodVodStreamRequest() pour créer une annonce de diffusion de séries d'annonces VOD requête. Enfin, demandez le flux à l'aide de AdsLoader.requestStream().

public void requestAndPlayAds() {
  StreamRequest request =
      sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
  request.setFormat(StreamFormat.HLS);

  adsLoader.addAdErrorListener(this);
  adsLoader.addAdsLoadedListener(this);
  adsLoader.requestStream(request);
}

Modifier et définir l'URL du flux

Diffusion de séries d'annonces en direct

Appelez StreamManager.getStreamId() pour obtenir l'ID du flux. Il doit ensuite être inséré dans STEAM_URL à la place de "[[STREAMID]]". Après cette modification, la nouvelle URL de flux peut être définie à l'aide de 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();
}

Diffusion de séries d'annonces de flux de vidéo à la demande

Appelez StreamManager.getStreamId() pour obtenir l'ID du flux. Ensuite, demandez un URL de flux de votre partenaire technologique vidéo. Ensuite, appelez StreamManager.loadThirdPartyStream() pour que le système IMA charge l'URL du flux et toute autre sous-titres renvoyés par le téléviseur.

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

Lorsque la diffusion de séries d'annonces est activée, le SDK IMA n'appelle pas VideoStreamPlayer.loadUrl(), afin de pouvoir supprimer tous les appels à videoPlayer.setStreamUrl() et videoPlayer.play().

Et voilà ! Vous demandez et affichez à présent des annonces dans un flux de diffusion de séries d'annonces avec le SDK IMA DAI. Pour voir d'autres exemples d'utilisation du SDK Android, regardez dans exemples sur GitHub.