Das Google Mobile Ads SDK bietet jetzt Betasupport für MRAID Version 3. Es basiert auf dem vorhandenen Support für MRAID Version 2 und ermöglicht 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 und interpretationsbedürftig waren. Er richtet sich an Autoren von MRAID Version 3-Creatives.
Vorbereitung
Publisher müssen Folgendes verwenden:
- Google Play-Dienste 15.0.0 oder höher für MRAID Version 3
- Google Play-Dienste 7.8 oder höher für MRAID Version 2
Hilfreiche Grundlagen
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 beschriebenen Parameter detailliert erläutert 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 verwendet 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.
Ein Beispiel 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) wird eingeführt, um zu ermitteln, 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 ermittelt werden kann.
Ein Beispiel für die Verwendung finden Sie in der MRAID Version 3-Spezifikation.
mraid.getLocation()
mraid.getLocation() wird nicht unterstützt und gibt daher 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 wie folgt:
| 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 dem ursprünglichen Anzeigenbereich entspricht.
Die Größe der Anzeigen wird auch 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 Attribute enthalten. Wenn die Attribute 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 ermitteln, deren Größe geändert wurde. Verwenden Sie mraid.getScreenSize(), um die Größe einer Expandable-Anzeige zu ermitteln.
mraid.setOrientationProperties()
Wenn Sie mraid.setOrientationProperties() aufrufen und das Attribut allowOrientationChange auf true gesetzt ist, hat das Festlegen des Attributs 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.