Le SDK Google Mobile Ads est désormais compatible en version bêta avec MRAID v3, en plus de la compatibilité existante avec MRAID v2. Les annonceurs peuvent ainsi diffuser des créations MRAID v3 auprès des éditeurs Ad Manager. Ce guide clarifie les détails de mise en œuvre de MRAID qui étaient peu clairs et sujets à interprétation dans la spécification MRAID v3. Il s'adresse aux auteurs de créations MRAID v3.
Prérequis
Les éditeurs doivent exécuter les éléments suivants :
- Services Google Play 15.0.0 ou version ultérieure pour MRAID v3
- Services Google Play 7.8 ou version ultérieure pour MRAID v2
Guides utiles
Si vous ne connaissez pas MRAID, consultez la page IAB MRAID. Vous pouvez également télécharger le document MRAID v3 Definitions, qui fournit des informations détaillées sur tous les paramètres abordés ci-dessous, ainsi que l'article de blog de l'IAB sur MRAID v3.
Détails de mise en œuvre de MRAID v3 (bêta)
Visibilité : événement exposureChange
Cet événement est compatible. Nous vous recommandons d'utiliser un écouteur pour le nouvel événement exposureChange plutôt que pour l'événement obsolète viewableChange.
La méthode mraid.isViewable() est également obsolète. Toutefois, ces méthodes obsolètes restent compatibles pour assurer la rétrocompatibilité.
La définition de l'événement exposureChange est envoyée chaque fois que la vue de l'annonce change. Le SDK dispose d'un mécanisme d'interrogation pour éviter de générer trop d'événements.
L'état initial est envoyé de manière asynchrone une fois que l'annonce a enregistré un écouteur.
Le rappel inclut le paramètre exposed_percentage, qui est un nombre à virgule flottante
compris entre 0.0 et 100.0.
Pour obtenir un exemple d'utilisation, consultez la spécification MRAID v3.
Détection et initialisation de MRAID, et attributs MRAID_ENV
Le SDK est conforme au protocole d'initialisation tel que défini dans la spécification MRAID v3.
Dans l'objet MRAID_ENV, le SDK n'envoie pas IDFA, limitAdTracking, l'ID d'application ni COPPA (qui sont facultatifs). Il fournit toutes les variables requises dans l'objet MRAID_ENV, y compris la version de MRAID, le nom du SDK et la version du SDK.
Mesure de l'audibilité
Un nouvel événement (audioVolumeChange) est introduit pour identifier si l'audio est audible et quand le volume change.
L'événement audioVolumeChange comporte un seul paramètre : volume_percentage.
La valeur correspond au pourcentage du volume de lecture audio maximal. Il s'agit d'un
nombre à virgule flottante compris entre 0.0 et 100.0 (0.0 lorsque la lecture
n'est pas autorisée) ou null si le volume ne peut pas être déterminé.
Pour obtenir un exemple d'utilisation, consultez la spécification MRAID v3.
mraid.getLocation()
Étant donné que mraid.getLocation() n'est pas compatible, il renvoie toujours -1.
mraid.unload()
Cette méthode peut être appelée à tout moment. Le SDK réagit en ignorant l'annonce, en libérant les ressources, puis en supprimant la WebView ou en la remplaçant par un autre document ou une nouvelle annonce.
Lorsque la création appelle unload(), la couche native répond comme suit pour les différents types de création :
| Type | Comportement de unload() |
|---|---|
| Banner | Effectuez une nouvelle demande d'annonce avec les mêmes paramètres de demande que l'annonce actuelle. |
| Interstitiel | Fermez l'interstitiel. |
VPAID (Video Player Ad Interface Definition)
Le SDK Google Mobile Ads n'est pas compatible avec VPAID. mraid.supports('vpaid')
renvoie la valeur "false".
mraid.useCustomClose()
mraid.useCustomClose() n'est peut-être pas compatible, selon le format et le type de création.
Détails de mise en œuvre de MRAID v2
mraid.getVersion()
mraid.getVersion() ne renvoie pas 2.0 tant que la création n'est pas chargée. Ne vérifiez pas la version de MRAID lorsque mraid.getState() renvoie loading.
mraid.resize()
Lorsque mraid.resize() est appelé, la bannière d'origine est remplacée par l'image de capture d'écran de la bannière. Cela est visible si l'annonce redimensionnée ne couvre pas l'espace publicitaire d'origine.
Les annonces redimensionnées ne suivent pas non plus le cadre de la bannière d'origine. Si une bannière est placée dans une vue défilante, l'annonce redimensionnée ne défile pas avec la bannière.
mraid.setResizeProperties()
Tous les appels à mraid.setResizeProperties() doivent contenir une liste complète des propriétés requises. Si les propriétés de redimensionnement ne sont pas valides, elles sont rétablies à leurs valeurs par défaut, et tous les appels suivants à mraid.resize() échouent jusqu'à ce que mraid.setResizeProperties() soit appelé à nouveau avec des paramètres valides.
mraid.getMaxSize()
mraid.getMaxSize() ne doit être utilisé que pour déterminer la taille maximale des annonces redimensionnées. Pour déterminer la taille d'une annonce extensible, utilisez mraid.getScreenSize().
mraid.setOrientationProperties()
Lorsque vous appelez mraid.setOrientationProperties() avec la propriété allowOrientationChange définie sur true, la définition de la propriété forceOrientation n'a aucun effet.
Les créations qui souhaitent forcer l'orientation doivent définir allowOrientationChange sur false.
mraid.isViewable()
Si une vue couvre une annonce visible, mraid.isViewable() renvoie toujours true. Le contenu de l'application ne doit pas couvrir les annonces visibles.
mraid.getCurrentPosition()
Lorsqu'une annonce extensible en deux parties est dans son état développé, un appel à mraid.getCurrentPosition() sur la première partie renvoie la taille de l'écran.
mraid.storePicture()
Pour qu'une application soit compatible avec mraid.storePicture(), elle doit inclure l'autorisation android.permission.WRITE_EXTERNAL_STORAGE.