Annonces rich media pour mobile

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 d'implémentation de MRAID qui étaient peu clairs et ouverts à interprétation dans les spécifications MRAID v3. Il s'adresse aux auteurs de créations MRAID v3.

Prérequis

Les éditeurs doivent exécuter :

  • 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, vous pouvez en savoir plus sur la page de l'IAB dédiée à MRAID. Vous pouvez également télécharger le document Définitions MRAID v3, 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 l'implémentation de MRAID v3 (bêta)

Visibilité : événement exposureChange

Cet événement est accepté. 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. Toutefois, ces méthodes obsolètes continuent 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 d'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 des exemples d'utilisation, consultez les spécifications 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 loi 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 peut être entendu 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 des exemples d'utilisation, consultez les spécifications MRAID v3.

mraid.getLocation()

Comme 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 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 Effectuez une nouvelle demande d'annonce avec les mêmes paramètres de requête 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 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 lorsque mraid.getState() renvoie loading.

mraid.resize()

Lorsque mraid.resize() est appelé, la bannière d'origine est remplacée par la capture d'écran de la bannière. Cela se remarque 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 sont rétablies sur leurs valeurs par défaut, et tous les appels suivants à mraid.resize() échoueront 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 recouvre une annonce qui serait autrement visible, mraid.isViewable() renverra toujours true. Le contenu de l'application ne doit pas masquer les annonces visibles.

mraid.getCurrentPosition()

Lorsqu'une annonce expand 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.