L'SDK Google Mobile Ads ora supporta la versione beta di MRAID v3, basata sul supporto esistente di MRAID v2, consentendo agli inserzionisti di pubblicare creatività MRAID v3 per i publisher Ad Manager. Questa guida chiarisce i dettagli di implementazione di MRAID che non erano chiari e lasciavano spazio a interpretazioni nella specifica MRAID v3. Il pubblico di riferimento sono gli autori di creatività MRAID v3.
Prerequisiti
I publisher devono eseguire:
- SDK Google Mobile Ads per iOS 7.30.0 o versioni successive per MRAID v3
- SDK Google Mobile Ads per iOS 7.4.0 o versioni successive per MRAID v2
Introduzioni utili
Se non hai familiarità con MRAID, puoi scoprire di più nella pagina MRAID dell'IAB. Puoi anche scaricare il documento Definizioni di MRAID v3, che fornisce dettagli su tutti i parametri descritti di seguito, nonché il post del blog IAB su MRAID v3.
Dettagli di implementazione di MRAID v3 (beta)
Visibilità - evento exposureChange
Questo evento è supportato e consigliamo di utilizzare un listener per il nuovo evento
exposureChange
anziché l'evento viewableChange
obsoleto.
Anche il metodo mraid.isViewable()
è deprecato. Questi metodi ritirati
continuano a essere supportati per mantenere la compatibilità con le versioni precedenti.
La definizione dell'evento exposureChange
viene inviata ogni volta che la visualizzazione dell'annuncio cambia. L'SDK dispone di un meccanismo di polling per evitare di generare troppi eventi.
Lo stato iniziale viene inviato in modo asincrono dopo che l'annuncio registra un listener.
Il callback include il parametro exposed_percentage
, che è un numero
in virgola mobile compreso tra 0.0
e 100.0
.
Per un esempio di utilizzo, consulta la specifica MRAID v3.
Rilevamento e inizializzazione di MRAID e attributi MRAID_ENV
L'SDK è conforme al protocollo di inizializzazione definito nella specifica MRAID v3.
Nell'oggetto MRAID_ENV
, l'SDK non invia IDFA
, limitAdTracking
,
ID app o COPPA (che sono facoltativi). Fornisce tutte le variabili richieste
nell'oggetto MRAID_ENV
, inclusi la versione MRAID, il nome dell'SDK e la versione dell'SDK.
Misurazione dell'udibilità
È stato introdotto un nuovo evento (audioVolumeChange
) per identificare se l'audio
può essere ascoltato e quando cambia il volume.
L'evento audioVolumeChange
ha un solo parametro: volume_percentage
.
Il valore è la percentuale del volume massimo di riproduzione audio. È un numero
con rappresentazione in virgola mobile compreso tra 0.0
e 100.0
(0.0
quando la riproduzione
non è consentita) o null
se non è possibile determinare il volume.
Per un esempio di utilizzo, consulta la specifica MRAID v3.
mraid.getLocation()
Poiché mraid.getLocation()
non è supportato, restituisce sempre -1
.
mraid.unload()
Questo metodo può essere chiamato in qualsiasi momento e l'SDK reagisce chiudendo l'annuncio, deallocando le risorse e poi rimuovendo la webview o sostituendola con un altro documento o un nuovo annuncio.
Quando la creatività chiama unload()
, il livello nativo risponde nel seguente modo
per i diversi tipi di creatività:
Tipo | Comportamento di unload() |
---|---|
Banner | Crea una nuova richiesta di annuncio con gli stessi parametri di richiesta dell'annuncio corrente. |
Interstitial | Chiudi l'interstiziale. |
VPAID (Video Player Ad Interface Definition)
L'SDK Google Mobile Ads non supporta VPAID. mraid.supports('vpaid')
restituisce false.
mraid.useCustomClose()
mraid.useCustomClose()
potrebbe non essere supportato, a seconda del formato e
del tipo di creatività.
Dettagli di implementazione di MRAID v2
mraid.getVersion()
mraid.getVersion()
non restituisce 2.0
finché la creatività non è stata caricata. Non
controllare la versione MRAID mentre mraid.getState()
restituisce loading
.
mraid.resize()
Quando viene chiamato mraid.resize()
, il banner originale viene sostituito con
l'immagine dello screenshot del banner. Ciò è evidente se l'annuncio ridimensionato
non copre lo spazio pubblicitario originale.
Gli annunci ridimensionati non seguono nemmeno il frame del banner originale. Se un banner viene inserito in una visualizzazione scorrevole, l'annuncio ridimensionato non scorre con il banner.
mraid.setResizeProperties()
Tutte le chiamate a mraid.setResizeProperties()
devono contenere un elenco completo di
proprietà obbligatorie. Se le proprietà di ridimensionamento non sono valide, verranno ripristinate
ai valori predefiniti e tutte le chiamate successive a mraid.resize()
non andranno a buon fine finché
mraid.setResizeProperties()
non verrà chiamato di nuovo con parametri validi.
mraid.getMaxSize()
mraid.getMaxSize()
deve essere utilizzato solo per determinare la dimensione massima degli annunci ridimensionati. Per determinare le dimensioni di un annuncio espandibile, utilizza mraid.getScreenSize()
.
mraid.setOrientationProperties()
Quando chiami mraid.setOrientationProperties()
con la proprietà allowOrientationChange
impostata su true
, l'impostazione della proprietà forceOrientation
non ha alcun effetto.
Le creatività che vogliono forzare l'orientamento devono impostare allowOrientationChange
su
false
.
mraid.isViewable()
Se una visualizzazione copre un annuncio altrimenti visibile, mraid.isViewable()
restituirà comunque
true
. I contenuti dell'app non devono coprire gli annunci visibili.
mraid.getCurrentPosition()
Mentre un annuncio espandibile in due parti è in stato espanso, una chiamata a
mraid.getCurrentPosition()
sulla prima parte restituirà le dimensioni dello
schermo.
mraid.supports()
A partire dalla versione 7.11.0 dell'SDK, mraid.supports("storePicture")
e
mraid.supports("calendar")
restituiscono sempre false
. In base alla specifica MRAID v2,
le creatività devono essere in grado di gestire il caso in cui questi metodi non sono disponibili.
mraid.storePicture()
L'app richiede automaticamente l'autorizzazione per salvare un'immagine
quando una creatività MRAID chiama mraid.storePicture()
.