Open Measurement dans le SDK IMA

Le SDK IMA pour iOS inclut le SDK Open Measurement (OM), un standard dans l'industrie développé par l'Interactive Advertising Bureau (IAB), qui permet de mesurer la visibilité et la validation par des tiers. Lorsque vous utilisez le SDK IMA pouriOS, le SDK OM inclus analyse automatiquement le tag <AdVerifications> dans les tags d'emplacement publicitaire VAST et envoie des données de visibilité aux fournisseurs 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 le nœud AdVerifications sur VAST 4+.Pour tirer parti d'Open Measurement, gardez les points suivants à l'esprit:

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

  • Les annonces doivent être configurées pour effectuer le trafficking des <AdVerifications> dans leur format VAST conformément aux spécifications VAST 4.1 si vous utilisez VAST 4.1 ou version ultérieure. Sinon, vous devez utiliser <Extension type="AdVerifications">.

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

Conditions préalables

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 test.

Le <AdVerifications> devrait s'afficher dans votre réponse VAST.

Enregistrer les obstacles en superposition des commandes vidéo

Les commandes vidéo telles que les boutons de pause ou les barres de progression fournissent aux utilisateurs des informations et des actions de lecture essentielles. Sur mobile, il est devenu courant d'afficher des commandes tactiles imprécises et des attentes des utilisateurs sur l'élément multimédia. Ces commandes apparaissent et disparaissent en fondu lorsque l'utilisateur appuie dessus et ne sont pas visibles la majeure partie du temps de lecture.

Vous trouverez ci-dessous un exemple de commandes vidéo affichées par l'application YouTube:

Lorsqu'ils utilisent le SDK IMA, la plupart des éditeurs mettent en œuvre ces contrôles en ajoutant une vue principalement transparente au-dessus du conteneur d'affichage de l'annonce. En général, les commandes sont des éléments enfants de cette vue qui masquent complètement le lecteur vidéo sous-jacent. Cette superposition transparente permet de capturer les événements d'appui, 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 qui se superposent à l'élément multimédia sont considérées comme des obstacles et réduisent le taux de visibilité. Si une superposition tactile transparente se trouve au-dessus de l'intégralité du conteneur d'affichage de l'annonce, l'inventaire peut être déclaré comme totalement non visible.

Le SDK Open Measurement prend des dispositions permettant de considérer les commandes vidéo comme des obstacles essentiels à l'expérience utilisateur. Une fois enregistrées, ces commandes sont exclues de la mesure de la visibilité des annonces.

Avec l'IAB et le MRC, le SDK IMA introduit une API permettant d'enregistrer ces superpositions avec le SDK Open Measurement. Ces commandes doivent être des superpositions entièrement transparentes ou de petits boutons. Les autres vues sans rapport avec des commandes vidéo ne doivent pas être enregistrées.

S'INSCRIRE NE PAS enregistrer
  • Superposition transparente pour enregistrer les appuis de l'utilisateur
  • Boutons temporaires
    • Pause
    • Joue
    • Plein écran
    • Cast/AirPlay
    • Réduire
    • Progression/Recherche
    • Autres actions pertinentes pour la lecture
  • Filigranes
  • Pop-ups
  • Boîtes de dialogue
  • Boutons non temporaires
  • Autres vues obscurcies

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

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 supprimer ces obstacles en appelant la méthode suivante :

[displayContainer unregisterAllFriendlyObstructions];