Annonces rich media pour mobile

Le SDK Google Mobile Ads est désormais compatible avec la version 3 de MRAID (version bêta) basée sur la version 2 de MRAID. Les annonceurs peuvent ainsi diffuser des créations au format MRAID v3 auprès des éditeurs Ad Manager. Ce guide clarifie les détails d'implémentation de MRAID qui n'étaient pas clairs et peuvent être interprétés dans la spécification MRAID v3. Il est destiné aux auteurs de créations MRAID v3.

Prérequis

Les éditeurs doivent exécuter:

  • SDK Google Mobile Ads pour iOS 7.30.0 ou version ultérieure pour MRAID v3
  • SDK Google Mobile Ads pour iOS 7.4.0 ou version ultérieure pour MRAID v2

Introductions utiles

Pour en savoir plus sur la norme MRAID, consultez la page correspondante de l'IAB. Vous pouvez également télécharger le document Définitions de MRAID v3, qui fournit des détails sur tous les paramètres décrits ci-dessous, ainsi que l'article de blog de l'IAB sur la version 3 de MRAID.

Informations sur l'implémentation 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 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 d'événement exposureChange est envoyée chaque fois que l'affichage de l'annonce est modifié. 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.

Reportez-vous à la spécification MRAID v3 pour voir un exemple d'utilisation.

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 les éléments IDFA, limitAdTracking ni l'ID de l'application, ni la loi COPPA (qui sont facultatifs). Il fournit toutes les variables requises dans l'objet MRAID_ENV, y compris la version MRAID, et le nom et la version du SDK.

Mesure de l'audibilité

Un nouvel événement (audioVolumeChange) est introduit pour déterminer si le contenu audio peut être entendu et à quel moment le volume change.

L'événement audioVolumeChange comporte un seul paramètre: volume_percentage. Cette valeur correspond au pourcentage du volume maximal de lecture audio. 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é.

Reportez-vous à la spécification MRAID v3 pour voir un exemple d'utilisation.

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 répartissant 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 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 la norme 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.

Informations sur l'implémentation de la version 2 de MRAID

mraid.getVersion()

mraid.getVersion() ne renvoie pas la valeur 2.0 tant que la création n'est pas chargée. Ne vérifiez pas la version MRAID si 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. Ce comportement est visible si l'annonce redimensionnée ne recouvre pas l'espace publicitaire d'origine.

Par ailleurs, les annonces redimensionnées ne suivent pas le cadre d'origine de la bannière. Si une bannière est placée dans une vue déroulante, l'annonce redimensionnée ne défile pas avec la bannière.

mraid.setResizeProperties()

Tous les appels à mraid.setResizeProperties() doivent contenir la liste complète des propriétés obligatoires. Si les propriétés de redimensionnement ne sont pas valides, les valeurs par défaut seront rétablies, et tous les appels suivants à 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() affiche quand même la valeur true. Le contenu de l'application ne doit pas recouvrir les annonces visibles.

mraid.getCurrentPosition()

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

mraid.supports()

À partir de la version 7.11.0 du SDK, mraid.supports("storePicture") et mraid.supports("calendar") renvoient toujours false. Conformément à la spécification MRAID v2, les créations doivent pouvoir gérer les cas où ces méthodes ne sont pas disponibles.

mraid.storePicture()

L'application demande automatiquement l'autorisation d'enregistrer une image lorsqu'une création MRAID appelle mraid.storePicture().