Le SDK IMA pour iOS inclut le
SDK Open Measurement (OM),
une norme du secteur développée par l'
Interactive Advertising Bureau (IAB) pour permettre la mesure de la visibilité et de la vérification par des tiers. Lorsque vous utilisez le SDK IMA pour
iOS, le SDK OM inclus analyse automatiquement
la <AdVerifications> balise dans les tags d'emplacement publicitaire VAST et envoie les données de visibilité aux
fournisseurs de mesure spécifiés à l'aide de 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 profiter de l'Open Measurement, gardez les points suivants à l'esprit :
Pour utiliser l'Open Measurement, vous devez disposer de la version 3.9.0 ou d'une version ultérieure du SDK IMA pour iOS.
Les annonces doivent être configurées pour diffuser
<AdVerifications>dans leur VAST conformément à la spécification VAST 4.1 si vous utilisez VAST 4.1 ou une version ultérieure. Sinon, vous devez utiliser<Extension type="AdVerifications">.Évitez de couvrir le
AdDisplayContaineravec des superpositions (transparentes ou opaques), car elles seront signalées comme des obstructions par le SDK OM et réduiront la visibilité.
Prérequis
- Si vos annonces sont diffusées via Ad Manager, configurez un fournisseur de mesure de la visibilité pour votre réseau Ad Manager et attribuez-le à votre élément de campagne.
Tests
Vous devriez voir le <AdVerifications> renvoyé dans votre réponse VAST.
Enregistrer les obstructions de 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 essentielles pour la lecture. Sur mobile, les tapotements imprécis et les attentes des utilisateurs ont fait du rendu de grands contrôles tactiles sur l'élément multimédia une pratique courante. Ces commandes apparaissent et disparaissent généralement lorsque l'utilisateur appuie sur l'écran, et ne sont pas visibles pendant la majeure partie de la lecture.
Pour obtenir un exemple de superposition de commandes vidéo, consultez l'image suivante sur l'application YouTube qui affiche les commandes :

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 règle générale, les commandes sont des éléments enfants de cette vue qui masquent complètement le lecteur vidéo sous-jacent. Cette superposition transparente est utilisée pour capturer les événements de tapotement, puis afficher les commandes aux utilisateurs lorsqu'ils appuient sur l'écran.
Lorsque la visibilité des annonces est calculée à l'aide du SDK Open Measurement, toutes les vues qui se superposent à l'élément multimédia sont considérées comme des obstructions et réduisent le taux de visibilité. Si une superposition de tapotement 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 non visible.
Le SDK Open Measurement prévoit que les commandes vidéo soient considérées comme des obstructions "acceptables" qui sont essentielles à l'expérience utilisateur. Une fois enregistrés comme acceptables, ces contrôles sont exclus de la mesure de la visibilité des annonces.
Grâce à 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 commandes doivent être des boutons ou des superpositions entièrement transparents. Toutes les autres vues qui ne sont pas liées aux commandes vidéo ne doivent pas être enregistrées.
| S'inscrire | NE PAS s'inscrire |
|---|---|
|
|
L'exemple de code suivant montre comment enregistrer des superpositions de commandes vidéo sur 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)];
// Replace myTransparentTapOverlay and myPauseButton with your own elements
// that function as video control 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];
Une fois que vous avez terminé, vous pouvez supprimer ces obstructions en appelant la méthode suivante :
Objective-C
- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
// This removes all previously registered friendly obstructions from the container.
[displayContainer unregisterAllFriendlyObstructions];
}
Swift
func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
// This removes all previously registered friendly obstructions from the container.
displayContainer.unregisterAllFriendlyObstructions()
}