Les SDK IMA permettent d'intégrer facilement des annonces multimédias à vos sites Web et applications. Les SDK IMA peuvent demander des annonces à n'importe quel ad server conforme à la norme VAST et gérer la lecture des annonces dans vos applications. Avec les SDK côté client IMA, vous gardez le contrôle de la lecture du contenu vidéo, tandis que le SDK gère la lecture des annonces. Les annonces sont diffusées dans un lecteur vidéo distinct situé au-dessus du lecteur vidéo de contenu de l'application.
Ce guide explique comment intégrer le SDK IMA dans une application de lecteur vidéo simple. Si vous souhaitez voir ou suivre un exemple d'intégration terminée, téléchargez l'exemple simple sur GitHub. Si vous souhaitez utiliser un lecteur HTML5 avec le SDK préintégré, consultez le plug-in du SDK IMA pour Video.js.
Présentation de l'IMA côté client
L'implémentation d'IMA côté client implique quatre composants principaux du SDK, qui sont illustrés dans ce guide:
AdDisplayContainer
: objet de conteneur qui spécifie où IMA affiche les éléments d'interface utilisateur de l'annonce et mesure la visibilité, y compris Active View et Open Measurement.AdsLoader
: objet qui demande des annonces et gère les événements à partir des réponses aux requêtes d'annonces. Vous ne devez instancier qu'un seul chargeur d'annonces, qui peut être réutilisé tout au long de la durée de vie de l'application.AdsRequest
: objet qui définit une requête d'annonces. Les requêtes d'annonces spécifient l'URL du tag d'emplacement publicitaire VAST, ainsi que des paramètres supplémentaires, tels que les dimensions de l'annonce.AdsManager
: objet contenant la réponse à la demande d'annonces, qui contrôle la lecture des annonces et qui écoute les événements d'annonces déclenchés par le SDK.
Prérequis
Avant de commencer, vous aurez besoin des éléments suivants :
- Trois fichiers vides :
- index.html
- style.css
- ads.js
- Python installé sur votre ordinateur ou un serveur Web à utiliser pour les tests
1. Démarrer un serveur de développement
Étant donné que le SDK IMA 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. Le moyen le plus simple de démarrer un serveur de développement local consiste à 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 8000
- Dans un navigateur Web, accédez à
http://localhost:8000/
.
Vous pouvez également utiliser n'importe quel autre serveur Web, tel que le serveur HTTP Apache.
2. Créer un lecteur vidéo simple
Commencez par modifier index.html pour créer un élément vidéo HTML5 simple, contenu dans un élément de mise en page, et un bouton pour déclencher la lecture. L'exemple suivant importe le SDK IMA et configure l'élément de conteneur AdDisplayContainer
. Pour en savoir plus, consultez les étapes
Importer le SDK IMA
et
Créer le conteneur d'annonces
.
Ajoutez les balises nécessaires pour charger les fichiers style.css et ads.js. Modifiez ensuite styles.css pour rendre le lecteur vidéo responsif sur les appareils mobiles. Enfin, dans ads.js, déclarez vos variables et déclenchez la lecture de la vidéo lorsque vous cliquez sur le bouton de lecture.
Notez que l'extrait de code ads.js contient un appel à setUpIMA()
, qui est défini dans la section
Initialiser AdsLoader et effectuer une requête d'annonces
.
3. Importer le SDK IMA
Ajoutez ensuite le framework IMA à l'aide d'une balise de script dans index.html, avant la balise pour ads.js
.
4. Créer le conteneur d'annonces
Dans la plupart des navigateurs, le SDK IMA utilise un élément de conteneur d'annonces dédié pour afficher à la fois des annonces et des éléments d'interface utilisateur liés aux annonces. La taille de ce conteneur doit être adaptée pour recouvrir l'élément vidéo à partir de l'angle supérieur gauche. La hauteur et la largeur des annonces placées dans ce conteneur sont définies par l'objet adsManager
. Vous n'avez donc pas besoin de définir ces valeurs manuellement.
Pour implémenter cet élément de conteneur d'annonces, commencez par créer un div
dans l'élément video-container
. Modifiez ensuite le CSS pour positionner l'élément en haut à gauche de video-element
. Enfin, ajoutez la fonction createAdDisplayContainer()
pour créer l'objet AdDisplayContainer
à l'aide du nouveau conteneur d'annonces div
.
5. Initialiser AdsLoader et envoyer une demande d'annonces
Pour demander des annonces, créez une instance AdsLoader
. Le constructeur AdsLoader
utilise un objet AdDisplayContainer
comme entrée et peut être utilisé pour traiter les objets AdsRequest
associés à une URL de balise publicitaire spécifiée. Le tag d'annonce utilisé dans cet exemple contient une annonce pré-roll de 10 secondes. Vous pouvez tester cette URL de tag d'emplacement publicitaire ou toute autre URL à l'aide de l'outil IMA Video Suite Inspector.
Il est recommandé de ne conserver qu'une seule instance de AdsLoader
pour l'ensemble du cycle de vie d'une page. Pour envoyer des requêtes d'annonces supplémentaires, créez un objet AdsRequest
, mais réutilisez le même AdsLoader
. Pour en savoir plus, consultez les questions fréquentes sur le SDK IMA.
Écoutez et répondez aux événements d'erreur et de chargement des annonces à l'aide de AdsLoader.addEventListener
.
Écoutez les événements suivants:
ADS_MANAGER_LOADED
AD_ERROR
Pour créer les écouteurs onAdsManagerLoaded()
et onAdError()
, consultez l'exemple suivant:
6. Répondre aux événements AdsLoader
Lorsque AdsLoader
charge des annonces, il émet un événement ADS_MANAGER_LOADED
. Analysez l'événement transmis au rappel pour initialiser l'objet AdsManager
. AdsManager
charge les annonces individuelles telles que définies par la réponse à l'URL du tag d'emplacement publicitaire.
Assurez-vous de gérer les erreurs qui se produisent pendant le processus de chargement. Si les annonces ne se chargent pas, assurez-vous que la lecture multimédia se poursuit sans annonces pour ne pas perturber la lecture du contenu par l'utilisateur.
Pour en savoir plus sur les écouteurs définis dans la fonction onAdsManagerLoaded()
, consultez les sous-sections suivantes:
Gérer les erreurs AdsManager
Le gestionnaire d'erreurs créé pour AdsLoader
peut également servir de gestionnaire d'erreurs pour AdsManager
. Consultez le gestionnaire d'événements qui réutilise la fonction onAdError()
.
Gérer les événements de lecture et de pause
Lorsque AdsManager
est prêt à insérer une annonce à afficher, il déclenche l'événement CONTENT_PAUSE_REQUESTED
. Gérez cet événement en déclenchant une mise en pause sur le lecteur vidéo sous-jacent. De même, lorsqu'une annonce se termine, AdsManager
déclenche l'événement CONTENT_RESUME_REQUESTED
. Gérez cet événement en redémarrant la lecture de la vidéo de contenu sous-jacente.
Pour connaître les définitions des fonctions onContentPauseRequested()
et onContentResumeRequested()
, consultez l'exemple suivant:
Gérer la lecture du contenu pendant les annonces non linéaires
AdsManager
met en pause la vidéo du contenu lorsqu'une annonce est prête à être diffusée, mais ce comportement ne tient pas compte des annonces non linéaires, où le contenu continue de se lire pendant l'affichage de l'annonce.
Pour prendre en charge les annonces non linéaires, écoutez AdsManager
pour émettre l'événement LOADED
. Vérifiez si l'annonce est linéaire. Si ce n'est pas le cas, reprenez la lecture de l'élément vidéo.
Pour connaître la définition de la fonction onAdLoaded()
, consultez l'exemple suivant.
7. Déclencher la mise en pause par clic sur les appareils mobiles
Étant donné que AdContainer
se superpose à l'élément vidéo, les utilisateurs ne peuvent pas interagir directement avec le lecteur sous-jacent. Cela peut dérouter les utilisateurs sur les appareils mobiles, qui s'attendent à pouvoir appuyer sur un lecteur vidéo pour mettre la lecture en pause. Pour résoudre ce problème, le SDK IMA transmet tous les clics qui ne sont pas gérés par IMA depuis la superposition d'annonces à l'élément AdContainer
, où ils peuvent être gérés. Cela ne s'applique pas aux annonces linéaires dans les navigateurs non mobiles, car cliquer sur l'annonce ouvre le lien de destination.
Pour implémenter la mise en pause par clic, ajoutez la fonction de gestionnaire de clics adContainerClick()
appelée dans l'écouteur de chargement de la fenêtre.
8. Démarrer AdsManager
Pour lancer la lecture de l'annonce, lancez et démarrez AdsManager
. Pour prendre pleinement en charge les navigateurs mobiles, où vous ne pouvez pas lire automatiquement les annonces, déclenchez la lecture des annonces à partir des interactions des utilisateurs avec la page, par exemple en cliquant sur le bouton de lecture.
9. Prise en charge du redimensionnement du lecteur
Pour que les annonces se redimensionnent dynamiquement et correspondent à la taille d'un lecteur vidéo, ou pour qu'elles correspondent aux modifications apportées à l'orientation de l'écran, appelez adsManager.resize()
en réponse aux événements de redimensionnement de la fenêtre.
Et voilà ! Vous demandez et affichez désormais des annonces avec le SDK IMA. Pour en savoir plus sur les fonctionnalités avancées du SDK, consultez les autres guides ou les exemples sur GitHub.