Open Measurement dans le SDK IMA DAI

Le SDK IMA pour iOS inclut SDK Open Measurement (OM), une norme sectorielle développée par l'Interactive Advertising Bureau (IAB) pour autoriser les tiers la visibilité et la validation. Lorsque vous utilisez le SDK IMA pour iOS, le SDK OM inclus analyse automatiquement la balise <AdVerifications> dans les balises d'annonces VAST et envoie des données de visibilité aux fournisseurs de solutions de mesure spécifiés via l'API OMID. Le SDK IMA est compatible avec le SDK OM v1.4, les extensions GAM AdVerifications sur VAST 2 et versions ultérieures, ainsi que le nœud AdVerifications sur VAST 4 et versions ultérieures. Pour profiter d'Open Measurement, tenez compte des points suivants :

  • Pour utiliser Open Measurement, vous devez disposer de la version 3.9.0 ou supérieure des SDK IMA pour iOS.

  • Les annonces doivent être configurées pour effectuer le trafficking des <AdVerifications> dans leur VAST, conformément aux la spécification VAST 4.1 si vous utilisez VAST 4.1+. Sinon, <Extension type="AdVerifications"> doit être utilisée.

  • Évitez de recouvrir le AdDisplayContainer avec des superpositions (transparentes ou opaques), car elles seront signalées comme des obstacles par le SDK OM et réduiront la visibilité.

Prérequis

Tests

Pour tester Open Measurement à l'aide du SDK IMA, utilisez l'une des versions requises du SDK ci-dessus, ainsi qu'un tag d'emplacement publicitaire de test.

Le <AdVerifications> doit être renvoyé dans votre réponse VAST.

Enregistrer les obstacles à la superposition des commandes vidéo

Les commandes vidéo, comme les boutons Pause ou les barres de progression, permettent de lire la vidéo des informations et des actions aux utilisateurs. Sur les mobiles, les interactions ont tendance à afficher un rendu de grande taille, convivial sur l'élément multimédia. Ces commandes apparaissent généralement au fur et à mesure que l'utilisateur appuie sur l'écran et ne sont pas visibles pendant la majeure partie de la durée de lecture.

Voici un exemple de commandes vidéo affichées par l'application YouTube:

Lorsque vous utilisez le SDK IMA, la plupart des éditeurs implémentent ces commandes en ajoutant une vue au-dessus du conteneur d'affichage des annonces qui est principalement transparente. En général, sont des éléments enfants de cette vue qui masquent complètement l'élément sous-jacent du lecteur vidéo. Cette superposition transparente permet de capturer les événements de pression, puis d'afficher les commandes aux utilisateurs lorsqu'ils appuient dessus.

Lorsque la visibilité des annonces est calculée via le SDK Open Measurement, toutes les vues superposées à l'élément multimédia sont considérées comme des obstacles et réduisent le taux de visibilité. Si une superposition transparente se trouve au-dessus de l'ensemble du conteneur d'affichage des annonces, il est possible que l'inventaire soit déclaré complètement invisible.

Le SDK Open Measurement prévoit la prise en compte des commandes vidéo "amical" les obstacles qui sont essentiels à l’expérience de l’utilisateur. Une fois enregistrés comme compatibles, ces contrôles sont exclus de la mesure de la visibilité des annonces.

Avec la compatibilité avec l'IAB et le MRC, le SDK IMA introduit une API permettant d'enregistrer ces superpositions avec le SDK Open Measurement. Ces contrôles doivent être totalement transparents. superpositions ou de petits boutons. Les vues qui ne sont pas liées aux commandes de la vidéo doivent ne doivent pas être enregistrées.

S’inscrire NE PAS vous inscrire
  • Superposition transparente pour capturer les actions des utilisateurs
  • Boutons temporaires
    • Pause
    • Lire
    • Plein écran
    • Cast/AirPlay
    • Réduire
    • Progression/Recherche
    • Autres actions liées à la lecture
  • Filigranes
  • Pop-up
  • Boîtes de dialogue
  • Boutons non temporaires
  • Autres vues masquantes

L'exemple de code suivant montre comment enregistrer des superpositions de commandes vidéo. dans le conteneur d'affichage:

UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
      [[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
                                           purpose:IMAFriendlyObstructionPurposeNotVisible
                                    detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
      [[IMAFriendlyObstruction alloc] initWithView:myPauseButton
                                           purpose:IMAFriendlyObstructionPurposeMediaControls
                                    detailedReason:@"This is the video player pause button"];

[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];

Lorsque vous n'en avez plus besoin, vous pouvez les éliminer en appelant la méthode la méthode suivante:

[displayContainer unregisterAllFriendlyObstructions];