Le SDK Google Mobile Ads est désormais compatible avec la version bêta de MRAID v3, qui s'appuie sur 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 l'implémentation de MRAID qui n'étaient pas clairs et qui pouvaient être interprétés dans les spécifications de MRAID v3. Il s'adresse aux créateurs de créations MRAID v3.
Prérequis
Les éditeurs doivent utiliser :
Guides utiles
Si vous ne connaissez pas MRAID, vous pouvez en savoir plus sur la page MRAID de l'IAB. Vous pouvez également télécharger le document MRAID v3 Definitions (Définitions de MRAID v3), qui fournit des détails sur tous les paramètres présentés ci-dessous, ainsi que l'article de blog de l'IAB sur MRAID v3.
Détails de l'implémentation de MRAID v3 (bêta)
Visibilité : événement exposureChange
Cet événement est accepté, et nous vous recommandons d'utiliser un écouteur pour le nouvel événement exposureChange plutôt que pour l'événement viewableChange obsolète.
La méthode mraid.isViewable() est également obsolète. Ces méthodes obsolètes continuent toutefois d'être prises en charge 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 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 la COPPA (qui sont facultatifs). Il fournit toutes les variables requises dans l'objet MRAID_ENV, y compris la version 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 ne comporte qu'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()
Comme mraid.getLocation() n'est pas pris en charge, il renvoie toujours -1.
mraid.unload()
Cette méthode peut être appelée à tout moment. Le SDK réagit en fermant 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éations :
| Type | Comportement de unload() |
|---|---|
| Banner | Envoyez une nouvelle demande d'annonce avec les mêmes paramètres 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() peut ne pas être accepté, selon le format et le type de création.
Détails de l'implémentation 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 MRAID tant que mraid.getState() renvoie loading.
mraid.resize()
Lorsque mraid.resize() est appelé, la bannière d'origine est remplacée par l'image de la 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éfilement, 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 seront rétablies à leurs valeurs par défaut, et tous les appels ultérieurs à mraid.resize() échoueront jusqu'à ce que mraid.setResizeProperties() soit de nouveau appelé 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 qui serait autrement visible, mraid.isViewable() renvoie toujours true. Le contenu de l'application ne doit pas masquer les annonces visibles.
mraid.getCurrentPosition()
Lorsqu'une annonce extensible en deux parties est dans l'é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.