Rich Media-Anzeigen auf Mobilgeräten

Das Google Mobile Ads SDK bietet jetzt Betasupport für MRAID v3. Es basiert auf der vorhandenen Unterstützung für MRAID v2 und ermöglicht es Werbetreibenden, MRAID v3-Creatives für Ad Manager-Publisher bereitzustellen. In diesem Leitfaden werden die MRAID-Implementierungsdetails erläutert, die in der MRAID v3-Spezifikation unklar und interpretationsbedürftig waren. Er richtet sich an Autoren von MRAID v3-Creatives.

Vorbereitung

Publisher müssen Folgendes ausführen:

  • Google Mobile Ads SDK für iOS 7.30.0 oder höher für MRAID v3
  • Google Mobile Ads SDK für iOS 7.4.0 oder höher für MRAID v2

Hilfreiche Einführungen

Wenn Sie mit MRAID nicht vertraut sind, finden Sie hier weitere Informationen. Sie können auch das Dokument MRAID v3 Definitions (MRAID v3-Definitionen) herunterladen, in dem alle unten beschriebenen Parameter sowie der IAB-Blogpost zu MRAID v3 ausführlich beschrieben werden.

MRAID v3 (Beta) – Implementierungsdetails

Sichtbarkeit – Ereignis „exposureChange“

Dieses Ereignis wird unterstützt. Wir empfehlen, einen Listener für das neue exposureChange-Ereignis anstelle des eingestellten viewableChange-Ereignisses zu verwenden. Die Methode mraid.isViewable() ist ebenfalls veraltet. Diese veralteten Methoden werden jedoch weiterhin unterstützt, um die Abwärtskompatibilität aufrechtzuerhalten.

Die Ereignisdefinition exposureChange wird immer dann gesendet, wenn sich die Anzeigenansicht ändert. Das SDK verfügt über einen Polling-Mechanismus, um zu vermeiden, dass zu viele Ereignisse generiert werden. Der ursprüngliche Status wird asynchron gesendet, nachdem für die Anzeige ein Listener registriert wurde. Der Callback enthält den Parameter exposed_percentage, eine Gleitkommazahl zwischen 0.0 und 100.0.

Beispiele für die Verwendung finden Sie in der MRAID v3-Spezifikation.

MRAID-Erkennung und ‑Initialisierung sowie MRAID_ENV-Attribute

Das SDK entspricht dem Initialisierungsprotokoll gemäß der MRAID v3-Spezifikation.

Im MRAID_ENV-Objekt werden die optionalen Parameter IDFA, limitAdTracking, App-ID oder COPPA nicht vom SDK gesendet. Es stellt alle erforderlichen Variablen im MRAID_ENV-Objekt bereit, einschließlich MRAID-Version, SDK-Name und SDK-Version.

Messung der Hörbarkeit

Ein neues Ereignis (audioVolumeChange) wird eingeführt, um zu ermitteln, ob die Audioinhalte zu hören sind und wann sich die Lautstärke ändert.

Das Ereignis audioVolumeChange hat einen einzelnen Parameter: volume_percentage. Der Wert ist der Prozentsatz der maximalen Audiowiedergabelautstärke. Es handelt sich um eine Gleitkommazahl zwischen 0.0 und 100.0 (0.0, wenn die Wiedergabe nicht zulässig ist) oder null, wenn die Lautstärke nicht ermittelt werden kann.

Beispiele für die Verwendung finden Sie in der MRAID v3-Spezifikation.

mraid.getLocation()

Da mraid.getLocation() nicht unterstützt wird, wird immer -1 zurückgegeben.

mraid.unload()

Diese Methode kann jederzeit aufgerufen werden. Das SDK reagiert darauf, indem es die Anzeige schließt, die Ressourcen freigibt und dann entweder das WebView entfernt oder durch ein anderes Dokument oder eine neue Anzeige ersetzt.

Wenn das Creative unload() aufruft, reagiert die native Ebene für die verschiedenen Creative-Typen so:

Typ unload()-Verhalten
Banner Stellen Sie eine neue Anzeigenanfrage mit denselben Anfrageparametern wie bei der aktuellen Anzeige.
Interstitial Schließen Sie das Interstitial.

VPAID (Video Player-Ad Interface Definition)

Das Google Mobile Ads SDK unterstützt VPAID nicht. mraid.supports('vpaid') gibt „false“ zurück.

mraid.useCustomClose()

mraid.useCustomClose() wird je nach Format und Creative-Typ möglicherweise nicht unterstützt.

Details zur MRAID v2-Implementierung

mraid.getVersion()

mraid.getVersion() gibt erst dann 2.0 zurück, wenn das Creative geladen wurde. Prüfen Sie die MRAID-Version nicht, wenn mraid.getState() den Wert loading zurückgibt.

mraid.resize()

Wenn mraid.resize() aufgerufen wird, wird das Originalbanner durch das Screenshot-Bild des Banners ersetzt. Das ist der Fall, wenn die Größe der Anzeige nicht an die ursprüngliche Werbefläche angepasst wird.

Auch bei Anzeigen mit angepasster Größe wird der ursprüngliche Bannerrahmen nicht beibehalten. Wenn ein Banner in einer Scrollansicht platziert wird, scrollt die in der Größe angepasste Anzeige nicht mit dem Banner.

mraid.setResizeProperties()

Alle Aufrufe von mraid.setResizeProperties() müssen eine vollständige Liste der erforderlichen Properties enthalten. Wenn die Größenänderungseigenschaften ungültig sind, werden sie auf ihre Standardwerte zurückgesetzt. Alle nachfolgenden Aufrufe von mraid.resize() schlagen fehl, bis mraid.setResizeProperties() noch einmal mit gültigen Parametern aufgerufen wird.

mraid.getMaxSize()

mraid.getMaxSize() sollte nur verwendet werden, um die maximale Größe für angepasste Anzeigen zu bestimmen. Verwenden Sie mraid.getScreenSize(), um die Größe einer Expandable-Anzeige zu ermitteln.

mraid.setOrientationProperties()

Wenn Sie mraid.setOrientationProperties() aufrufen und die allowOrientationChange-Eigenschaft auf true festgelegt ist, hat das Festlegen der forceOrientation-Eigenschaft keine Auswirkungen. Bei Creatives, bei denen die Ausrichtung erzwungen werden soll, muss allowOrientationChange auf false festgelegt werden.

mraid.isViewable()

Wenn eine Ansicht eine ansonsten sichtbare Anzeige abdeckt, wird trotzdem mraid.isViewable() zurückgegeben.true App-Inhalte dürfen sichtbare Anzeigen nicht verdecken.

mraid.getCurrentPosition()

Während eine zweiteilige Expandable-Anzeige im erweiterten Zustand ist, wird bei einem Aufruf von mraid.getCurrentPosition() für den ersten Teil die Größe des Bildschirms zurückgegeben.

mraid.supports()

Ab SDK-Version 7.11.0 geben mraid.supports("storePicture") und mraid.supports("calendar") immer false zurück. Gemäß der MRAID v2-Spezifikation sollten Creatives den Fall abfangen können, in dem diese Methoden nicht verfügbar sind.

mraid.storePicture()

Die App fordert automatisch die Berechtigung zum Speichern eines Bildes an, wenn in einem MRAID-Creative mraid.storePicture() aufgerufen wird.