Annonces rich media pour mobile

Le SDK Google Mobile Ads est désormais compatible en version bêta avec la version 3 de MRAID, basée sur la compatibilité existante avec la version 2 de MRAID. Les annonceurs peuvent ainsi diffuser des créations MRAID 3 auprès des éditeurs Ad Manager. Ce guide clarifie les détails d'implémentation 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 3
  • Services Google Play 7.8 ou version ultérieure pour MRAID 2

Ressources utiles

Si vous ne connaissez pas MRAID, consultez la page MRAID de l'IAB. Vous pouvez également télécharger le document Définitions de 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 pris en charge. Nous vous recommandons d'utiliser un écouteur pour le nouvel événement exposureChange plutôt que l'événement viewableChange obsolète. La méthode mraid.isViewable() est également obsolète. Toutefois, ces méthodes obsolètes restent 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 de sondage 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 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 de l'application ni 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 un exemple d'utilisation, consultez la spécification 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, et le SDK réagit en fermant l'annonce, en libérant les ressources, puis en supprimant la vue Web 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 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'a pas été 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 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é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 à 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 recouvre une annonce visible, mraid.isViewable() renvoie toujours true. Le contenu de l'application ne doit pas recouvrir les annonces visibles.

mraid.getCurrentPosition()

Lorsqu'une annonce extensible en deux parties est développée, un appel à mraid.getCurrentPosition() sur la première partie renvoie la taille de l'écran.

mraid.storePicture()

Pour qu'une application prenne en charge mraid.storePicture(), elle doit inclure l'autorisation android.permission.WRITE_EXTERNAL_STORAGE.