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 PodServingExample depuis GitHub.
Présentation de l'IMA DAI
L'implémentation d'IMA DAI implique quatre composants principaux du SDK, comme l'explique ce guide :
IMAAdDisplayContainer: objet conteneur qui se trouve au-dessus de l'élément de lecture vidéo et qui héberge les éléments d'interface utilisateur de l'annonce.IMAAdsLoader: objet qui demande des flux et gère les événements déclenchés par les objets de réponse aux demandes de flux. Vous ne devez instancier qu'un seul chargeur d'annonces, qui peut être réutilisé pendant toute la durée de vie de l'application.IMAStreamRequest:IMAPodVODStreamRequestouIMAPodStreamRequest.IMAStreamManager: objet qui gère les flux d'insertion dynamique d'annonce et les interactions avec le backend DAI. Le gestionnaire de flux gère également les pings de suivi et transmet les événements de flux et d'annonce à l'éditeur.
De plus, pour lire des flux de diffusion de pods, implémentez un gestionnaire VTP personnalisé. Ce gestionnaire VTP personnalisé envoie l'ID de flux à votre partenaire technique vidéo (VTP), ainsi que toutes les autres informations dont il a besoin pour renvoyer un fichier manifeste de flux contenant à la fois le contenu et les annonces intégrées. Votre VTP fournit des instructions sur la façon d'implémenter votre gestionnaire VTP personnalisé.
Prérequis
Avant de commencer, vous avez besoin des éléments suivants :
- Xcode 13 ou version ultérieure
- Méthode d'installation du SDK IMA :
- Swift Package Manager (recommandé)
- Une copie téléchargée du SDK IMA pour iOS
Vous avez également besoin des paramètres pour demander votre flux au SDK IMA.
| Paramètres de diffusion en direct | |
|---|---|
| Code réseau |
Code de réseau de votre compte Ad Manager 360. |
| Clé d'élément personnalisée |
Clé d'asset personnalisée qui identifie votre événement de diffusion de pod dans Ad Manager 360. Votre outil de manipulation du fichier manifeste ou votre partenaire tiers d'insertion de séries d'annonces crée cette valeur. |
| Paramètres de flux VOD | |
| Code réseau |
Code de réseau de votre compte Ad Manager 360. |
Créer un projet Xcode
Dans Xcode, créez un projet iOS nommé "PodServingExample" à l'aide d'Objective-C.
Ajouter le SDK IMA DAI au projet Xcode
Pour installer le SDK IMA, choisissez la méthode de votre choix.
Recommandé : Installer le SDK à l'aide de Swift Package Manager
Le SDK Interactive Media Ads est compatible avec Swift Package Manager à partir de la version 3.18.4. Pour importer le package Swift, procédez comme suit :
Dans Xcode, installez le package Swift du SDK IMA DAI : accédez à File > Add Packages (Fichier > Ajouter des packages).
Dans l'invite qui s'affiche, recherchez le dépôt GitHub du package Swift du SDK IMA DAI :
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-iosSélectionnez la version du package Swift du SDK IMA DAI que vous souhaitez utiliser. Pour les nouveaux projets, utilisez l'option Jusqu'à la prochaine version majeure.
Une fois que vous avez terminé, Xcode résout les dépendances de votre package et les télécharge en arrière-plan. Pour en savoir plus sur l'ajout de dépendances de package, consultez cet article d'Apple.
Télécharger et installer manuellement le SDK
Si vous ne souhaitez pas utiliser Swift Package Manager, téléchargez et ajoutez manuellement le SDK IMA à votre projet.
Créer un lecteur vidéo
Implémentez un lecteur vidéo dans votre contrôleur de vue principal. Encapsulez un lecteur AV dans une vue d'UI. Le SDK IMA utilise la vue de l'interface utilisateur pour afficher les éléments d'interface utilisateur de l'annonce.
Objective-C
Swift
Initialiser le chargeur d'annonces
Importez le SDK IMA dans votre contrôleur de vue et adoptez les protocoles IMAAdsLoaderDelegate et IMAStreamManagerDelegate pour gérer les événements du chargeur d'annonces et du gestionnaire de flux.
Ajoutez ces propriétés privées pour stocker les composants clés du SDK IMA :
IMAAdsLoader- Gère les demandes de flux pendant la durée de vie de votre application.
IMAAdDisplayContainer- Gère l'insertion et la gestion des éléments d'interface utilisateur des annonces.
IMAAVPlayerVideoDisplay: communique entre le SDK IMA et votre lecteur multimédia, et gère les métadonnées temporelles.IMAStreamManager: gère la lecture du flux et déclenche des événements liés aux annonces.
Initialisez le chargeur d'annonces, le conteneur d'affichage des annonces et l'affichage vidéo après le chargement de la vue.
Objective-C
Swift
Envoyer une requête de flux
Lorsqu'un utilisateur appuie sur le bouton de lecture, envoyez une nouvelle demande de flux.
Utilisez la classe IMAPodStreamRequest pour les diffusions en direct. Pour les flux de VOD, utilisez la classe IMAPodVODStreamRequest.
La demande de flux nécessite vos paramètres de flux, ainsi qu'une référence à votre conteneur d'affichage d'annonces et à votre affichage vidéo.
Objective-C
Swift
Écouter les événements de chargement de flux
La classe IMAAdsLoader appelle les méthodes IMAAdsLoaderDelegate en cas d'initialisation réussie ou d'échec de la requête de flux.
Dans la méthode déléguée adsLoadedWithData, définissez votre IMAStreamManagerDelegate.
Transmettez l'ID du flux à votre gestionnaire VTP personnalisé, puis récupérez l'URL du fichier manifeste du flux. Pour les diffusions en direct, chargez l'URL du fichier manifeste dans votre affichage vidéo, puis lancez la lecture. Pour les flux de VOD, transmettez l'URL du fichier manifeste à la méthode loadThirdPartyStream du gestionnaire de flux. Cette méthode demande les données d'événement d'annonce à Ad Manager 360, puis charge l'URL du fichier manifeste et lance la lecture.
Dans la méthode déléguée failedWithErrorData, consignez l'erreur. Vous pouvez également lire le flux de secours. Consultez les bonnes pratiques concernant l'insertion dynamique d'annonce.
Objective-C
Swift
Implémenter votre gestionnaire VTP personnalisé
Le gestionnaire VTP personnalisé envoie l'ID de flux du spectateur à votre partenaire technique vidéo (VTP), ainsi que toute autre information dont votre VTP a besoin pour renvoyer un fichier manifeste de flux contenant à la fois le contenu et les annonces intégrées. Votre VTP fournit des instructions spécifiques sur la façon d'implémenter votre gestionnaire VTP personnalisé.
Par exemple, un VTP peut inclure une URL de modèle de fichier manifeste contenant la macro [[STREAMID]]. Dans cet exemple, le gestionnaire insère l'ID de flux à la place de la macro et renvoie l'URL du fichier manifeste obtenue.
Objective-C
Swift
Écouter les événements d'annonce
IMAStreamManager appelle les méthodes IMAStreamManagerDelegate pour transmettre les événements et les erreurs de flux à votre application.
Pour cet exemple, enregistrez les événements d'annonce principaux dans la console :
Objective-C
Swift
Nettoyer les assets IMA DAI
Pour arrêter la lecture du flux, arrêter tout le suivi des annonces et libérer tous les éléments de flux chargés, appelez IMAStreamManager.destroy().
Exécutez votre application. Si l'opération réussit, demandez et lisez des flux d'insertion dynamique d'annonce Google avec le SDK IMA. Pour en savoir plus sur les fonctionnalités avancées du SDK, consultez les autres guides listés dans la barre latérale de gauche ou les exemples sur GitHub.