Das Google Mobile Ads SDK unterstützt jetzt in der Betaversion MRAID v3. Diese Unterstützung basiert auf der bestehenden 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 Details zur MRAID-Implementierung erläutert, die in der MRAID v3-Spezifikation unklar und interpretierbar waren. Er richtet sich an Ersteller von MRAID v3-Creatives.
Vorbereitung
Publisher müssen Folgendes verwenden:
Hilfreiche Einführungen
Wenn Sie mit MRAID nicht vertraut sind, finden Sie weitere Informationen auf der IAB-MRAID-Seite. Sie können auch das Dokument MRAID v3 Definitions herunterladen, das Details zu allen unten beschriebenen Parametern enthält, sowie den IAB-Blogpost zu MRAID v3 lesen.
Details zur Implementierung von MRAID v3 (Beta)
Sichtbarkeit – exposureChange-Ereignis
Dieses Ereignis wird unterstützt. Wir empfehlen, einen Listener für das neue exposureChange-Ereignis anstelle des verworfenen viewableChange-Ereignisses zu verwenden.
Die Methode mraid.isViewable() wurde ebenfalls verworfen. Diese veralteten 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 Anfangszustand wird asynchron gesendet, nachdem die Anzeige einen Listener registriert hat.
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, wie in der MRAID v3-Spezifikation definiert.
Im MRAID_ENV-Objekt sendet das SDK nicht IDFA, limitAdTracking, die App-ID oder COPPA (die optional sind). Es stellt alle erforderlichen Variablen im MRAID_ENV-Objekt bereit, einschließlich MRAID-Version, SDK-Name und SDK-Version.
Hörbarkeitsmessung
Es wird ein neues Ereignis (audioVolumeChange) 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 Lautstärke der Audiowiedergabe. 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 die Webansicht 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 | Stellen Sie eine neue Anzeigenanfrage mit denselben Anfrageparametern wie für die aktuelle Anzeige. |
| Interstitial | Schließen Sie die Interstitial-Anzeige. |
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 v2
mraid.getVersion()
mraid.getVersion() gibt 2.0 erst zurück, wenn das Creative geladen wurde. Prüfen Sie die MRAID-Version nicht, solange 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 fällt auf, wenn die Anzeige nach der Größenanpassung nicht die ursprüngliche Werbefläche abdeckt.
Anzeigen mit angepasster Größe entsprechen auch nicht dem ursprünglichen Bannerrahmen. Wenn ein Banner in einer scrollbaren Ansicht platziert wird, scrollt die Anzeige mit angepasster Größe nicht mit dem Banner.
mraid.setResizeProperties()
Alle Aufrufe von mraid.setResizeProperties() sollten eine vollständige Liste der erforderlichen Properties enthalten. Wenn die Eigenschaften für die Größenanpassung ungültig sind, werden sie auf die 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 Anzeigen mit angepasster Größe zu bestimmen. Verwenden Sie mraid.getScreenSize() zum Ermitteln der Größe einer Expandable-Anzeige.
mraid.setOrientationProperties()
Wenn Sie mraid.setOrientationProperties() aufrufen und das Attribut allowOrientationChange auf true festgelegt ist, hat das Festlegen des Attributs forceOrientation keine Auswirkungen.
Creatives, die eine Ausrichtung erzwingen möchten, sollten allowOrientationChange auf false festlegen.
mraid.isViewable()
Wenn eine Ansicht eine ansonsten sichtbare Anzeige verdeckt, gibt mraid.isViewable() weiterhin true zurück. 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.storePicture()
Damit eine App mraid.storePicture() unterstützt, muss sie die Berechtigung android.permission.WRITE_EXTERNAL_STORAGE enthalten.