Ce guide explique comment intégrer le SDK IMA DAI dans une application de lecteur vidéo. Si vous souhaitez afficher ou suivre un exemple d'intégration complet, téléchargez l'exemple simple sur GitHub.
Présentation de l'IMA DAI
L'implémentation du SDK IMA DAI implique deux composants principaux, comme indiqué dans ce guide :
StreamRequest(VODStreamRequestouLiveStreamRequest) : objet qui définit une requête de flux. Les requêtes de flux peuvent concerner des flux de vidéo à la demande ou des flux en direct. Les demandes de diffusion en direct spécifient une clé d'élément, tandis que les demandes de VOD spécifient un ID CMS et un ID vidéo. Les deux types de requêtes peuvent éventuellement inclure une clé API nécessaire pour accéder aux flux spécifiés, ainsi qu'un code de réseau Google Ad Manager permettant au SDK IMA de gérer les identifiants d'annonces comme spécifié dans les paramètres Google Ad Manager.StreamManager: objet qui gère les flux d'insertion dynamique d'annonces et les interactions avec le backend d'insertion dynamique d'annonces. Le gestionnaire de flux gère également les pings de suivi et transmet les événements de flux et d'annonce à l'éditeur.
Prérequis
- Trois fichiers vides
- dai.html
- dai.css
- dai.js
- Python installé sur votre ordinateur ou un serveur Web à utiliser pour les tests
Démarrer un serveur de développement
Étant donné que le SDK IMA DAI charge les dépendances à l'aide du même protocole que la page à partir de laquelle il est chargé, vous devez utiliser un serveur Web pour tester votre application. Pour démarrer rapidement un serveur de développement local, vous pouvez utiliser le serveur intégré de Python.
À l'aide d'une ligne de commande, exécutez la commande suivante à partir du répertoire contenant votre fichier
index.html:python -m http.server 8000Dans un navigateur Web, accédez à
http://localhost:8000/.Vous pouvez également utiliser n'importe quel autre serveur Web, tel que le serveur HTTP Apache.
Créer un lecteur vidéo
Commencez par modifier dai.html pour créer un élément vidéo HTML5 et un élément div à utiliser pour le clic. L'exemple suivant importe le SDK IMA DAI. Pour en savoir plus, consultez Importer le SDK IMA DAI.
Ajoutez également les balises nécessaires pour charger les fichiers dai.css et dai.js, ainsi que pour importer le lecteur vidéo hls.js. Ensuite, modifiez dai.css pour spécifier la taille et la position des éléments de la page.
Enfin, dans dai.js, définissez des variables pour stocker les informations de la demande de flux, une fonction initPlayer() à exécuter lors du chargement de page, et configurez le bouton de lecture pour demander un flux au clic.
Pour reprendre la lecture pendant les coupures publicitaires mises en pause, configurez des écouteurs d'événements pour les événements pause et start de l'élément vidéo afin d'afficher et de masquer les commandes du lecteur.
Charger le SDK IMA DAI
Ensuite, ajoutez le framework IMA à l'aide d'un tag de script dans dai.html, avant le tag pour dai.js.
Initialiser StreamManager
Pour demander un ensemble d'annonces, créez un ima.dai.api.StreamManager, qui est chargé de demander et de gérer les flux d'insertion dynamique d'annonces. Le constructeur utilise un élément vidéo et un élément d'interface utilisateur d'annonce pour gérer les clics sur les annonces.
Envoyer une requête de flux
Définissez des fonctions pour demander des flux. Cet exemple inclut des fonctions pour la VOD et les diffusions en direct, qui créent des instances de la classe VODStreamRequest et de la classe LiveStreamRequest. Une fois que vous disposez de votre instance streamRequest, appelez la méthode streamManager.requestStream() avec l'instance de requête de flux.
Les deux méthodes de requête de flux acceptent une clé API facultative. Si vous utilisez un flux protégé, vous devez créer une clé d'authentification pour l'insertion dynamique d'annonces. Pour en savoir plus, consultez Authentifier les demandes de flux vidéo d'insertion dynamique d'annonce.
Aucun des flux de cet exemple n'est protégé par une clé d'authentification DAI. Par conséquent, apiKey n'est pas utilisé.
Analyser les métadonnées du flux
Vous devez également ajouter un gestionnaire pour écouter les événements de métadonnées temporelles et les transférer à la classe StreamManager afin qu'IMA émette des événements d'annonce pendant les coupures publicitaires :
Ce guide utilise le lecteur hls.js pour la lecture des flux, mais l'implémentation des métadonnées dépend du type de lecteur que vous utilisez.
Gérer les événements de flux
Implémentez des écouteurs d'événements pour les événements vidéo majeurs. Cet exemple gère les événements LOADED, ERROR, AD_BREAK_STARTED et AD_BREAK_ENDED en appelant une fonction onStreamEvent(). Cette fonction gère le chargement du flux, les erreurs de flux et la désactivation des commandes du lecteur pendant la lecture de l'annonce, ce qui est requis par le SDK IMA.
Une fois le flux chargé, le lecteur vidéo charge et lit l'URL fournie à l'aide d'une fonction loadUrl().
Et voilà ! Vous demandez et affichez désormais des annonces avec le SDK IMA DAI. Pour en savoir plus sur les fonctionnalités plus avancées du SDK, consultez les autres guides ou les exemples sur GitHub.