Das Google Mobile Ads SDK bietet jetzt Beta-Unterstützung für MRAID Version 3. Diese basiert auf der vorhandenen Unterstützung für MRAID Version 2 und ermöglicht es Werbetreibenden, Ad Manager-Publishern MRAID Version 3-Creatives bereitzustellen. In diesem Leitfaden werden die Details zur MRAID Implementierung erläutert, die in der MRAID Version 3-Spezifikation unklar waren und Spielraum für Interpretationen ließen. Er richtet sich an Autoren von MRAID Version 3-Creatives.
Vorbereitung
Publisher müssen Folgendes verwenden:
Hilfreiche Informationen
Wenn Sie mit MRAID nicht vertraut sind, finden Sie weitere Informationen auf der IAB-Seite zu MRAID. Sie können auch das Dokument MRAID v3 Definitions herunterladen, in dem alle unten besprochenen Parameter beschrieben werden, sowie den IAB-Blogpost zu MRAID Version 3.
Details zur Implementierung von MRAID Version 3 (Beta)
Sichtbarkeit – Ereignis „exposureChange“
Dieses Ereignis wird unterstützt. Wir empfehlen, einen Listener für das neue Ereignis exposureChange anstelle des verworfenen Ereignisses viewableChange zu verwenden.
Die Methode mraid.isViewable() ist ebenfalls veraltet. Diese verworfenen Methoden werden jedoch weiterhin unterstützt, um die Abwärtskompatibilität zu gewährleisten.
Die Ereignisdefinition exposureChange wird immer dann gesendet, wenn sich die Anzeigenansicht ändert. Das SDK verfügt über einen Abrufmechanismus, um zu vermeiden, dass zu viele Ereignisse generiert werden.
Der ursprüngliche Status wird asynchron gesendet, nachdem die Anzeige einen Listener registriert hat.
Der Callback enthält den exposed_percentage Parameter, eine Gleitkomma
zahl zwischen 0.0 und 100.0.
Beispiele für die Verwendung finden Sie in der MRAID Version 3-Spezifikation.
MRAID-Erkennung und -Initialisierung sowie MRAID_ENV-Attribute
Das SDK entspricht dem in der MRAID Version 3-Spezifikation definierten Initialisierungsprotokoll.
Im Objekt MRAID_ENV sendet das SDK keine optionalen Werte wie IDFA, limitAdTracking, App-ID oder COPPA. Es stellt alle erforderlichen Variablen im Objekt MRAID_ENV bereit, einschließlich MRAID-Version, SDK-Name und SDK-Version.
Hörbarkeitsmesswerte
Ein neues Ereignis (audioVolumeChange) gibt an, ob der Ton zu hören ist 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 ist eine
Gleitkommazahl zwischen 0.0 und 100.0 (0.0, wenn die Wiedergabe
nicht zulässig ist) oder null, wenn die Lautstärke nicht bestimmt werden kann.
Beispiele für die Verwendung finden Sie in der MRAID Version 3-Spezifikation.
mraid.getLocation()
mraid.getLocation() wird nicht unterstützt und gibt immer -1 zurück.
mraid.unload()
Diese Methode kann jederzeit aufgerufen werden. Das SDK reagiert, indem es die Anzeige schließt, die Ressourcen freigibt und dann entweder die WebView entfernt oder sie 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 | Verhalten von „unload()“ |
|---|---|
| Banner | Eine neue Anzeigenanfrage mit denselben Anfrageparametern wie bei der aktuellen Anzeige senden. |
| Interstitial | Interstitial schließen. |
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 Implementierung von MRAID Version 2
mraid.getVersion()
mraid.getVersion() gibt erst dann 2.0 zurück, wenn das Creative geladen wurde. Prüfen Sie die MRAID-Version nicht, während mraid.getState() den Wert loading zurückgibt.
mraid.resize()
Wenn mraid.resize() aufgerufen wird, wird das ursprüngliche Banner durch das Screenshot-Bild des Banners ersetzt. Das ist sichtbar, wenn die Größe der Anzeige nicht an den ursprünglichen Anzeigenplatz angepasst wird.
Auch die Größe der Anzeigen wird nicht an den ursprünglichen Bannerrahmen angepasst. Wenn ein Banner in einer Scrollansicht platziert wird, wird die Größe der Anzeige nicht an das Banner angepasst.
mraid.setResizeProperties()
Alle Aufrufe von mraid.setResizeProperties() müssen eine vollständige Liste der erforderlichen Eigenschaften enthalten. Wenn die Eigenschaften für die Größenänderung ungültig sind, werden sie auf die Standardwerte zurückgesetzt. Alle nachfolgenden Aufrufe von mraid.resize() schlagen fehl, bis mraid.setResizeProperties() wieder mit gültigen Parametern aufgerufen wird.
mraid.getMaxSize()
mraid.getMaxSize() sollte nur verwendet werden, um die maximale Größe für Anzeigen zu bestimmen, deren Größe geändert wurde. Verwenden Sie mraid.getScreenSize(), um die Größe einer Expandable-Anzeige zu bestimmen.
mraid.setOrientationProperties()
Wenn Sie mraid.setOrientationProperties() aufrufen und die Eigenschaft allowOrientationChange auf true setzen, hat das Festlegen der Eigenschaft forceOrientation keine Auswirkungen.
Bei Creatives, bei denen die Ausrichtung erzwungen werden soll, muss allowOrientationChange auf false gesetzt werden.
mraid.isViewable()
Wenn eine Ansicht eine ansonsten sichtbare Anzeige verdeckt, gibt mraid.isViewable() trotzdem true zurück. App-Content sollte 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.storePicture()
Damit eine App mraid.storePicture() unterstützt, muss sie die Berechtigung android.permission.WRITE_EXTERNAL_STORAGE enthalten.