L'SDK Google Mobile Ads dispone ora del supporto beta per MRAID v3, basato sul supporto esistente per MRAID v2, e consente agli inserzionisti di pubblicare creatività MRAID v3 per i publisher di Ad Manager. Questa guida chiarisce i dettagli dell'implementazione di MRAID che non erano chiari e su cui è possibile interpretare nella specifica MRAID v3. Il pubblico di destinazione è costituito dagli autori di creatività MRAID v3.
Prerequisiti
I publisher devono pubblicare:
- 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
Primer utili
Se non conosci MRAID, puoi trovare ulteriori informazioni nella pagina MRAID dello IAB. Puoi anche scaricare il documento MRAID v3 Definitions, che fornisce informazioni dettagliate su tutti i parametri descritti di seguito, nonché il post del blog di IAB su MRAID v3.
Dettagli sull'implementazione di MRAID v3 (beta)
Evento Visibilità - Modifica esposizione
Questo evento è supportato. Ti consigliamo di utilizzare un listener per il nuovo
evento exposureChange
anziché per l'evento viewableChange
deprecato.
Anche il metodo mraid.isViewable()
è obsoleto. Tuttavia, questi metodi deprecati 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 ha un meccanismo di polling per evitare di generare troppi eventi.
Lo stato iniziale viene inviato in modo asincrono dopo che l'annuncio ha registrato un listener.
Il callback include il parametro exposed_percentage
, che è un numero in virgola mobile compreso tra 0.0
e 100.0
.
Per esempi 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 (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à
Viene introdotto un nuovo evento (audioVolumeChange
) per identificare se l'audio
può essere ascoltato e quando il volume cambia.
L'evento audioVolumeChange
ha un singolo parametro: volume_percentage
.
Il valore è la percentuale del volume massimo della riproduzione audio. Si tratta di un numero in virgola mobile compreso tra 0.0
e 100.0
(0.0
quando la riproduzione non è consentita) oppure null
se non è possibile determinare il volume.
Per esempi 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 ignorando l'annuncio, concedendo la distribuzione delle risorse e quindi rimuovendo il componente WebView o sostituendolo con un altro documento o un nuovo annuncio.
Quando la creatività chiama unload()
, il livello nativo risponde come segue per i diversi tipi di creatività:
Tipo | Comportamento unload() |
---|---|
Banner | Effettuare una nuova richiesta di annuncio con gli stessi parametri di richiesta dell'annuncio corrente. |
Interstitial | Chiudi l'interstitial. |
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 sull'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 screenshot del banner. Ciò si verifica se l'annuncio ridimensionato
non copre lo spazio pubblicitario originale.
Inoltre, gli annunci ridimensionati non seguono il frame originale del banner. Se un banner viene posizionato in una visualizzazione a scorrimento, l'annuncio ridimensionato non scorre con il banner.
mraid.setResizeProperties()
Tutte le chiamate al numero mraid.setResizeProperties()
devono contenere un elenco completo delle
proprietà obbligatorie. Se le proprietà di ridimensionamento non sono valide, verranno ripristinate i valori predefiniti e tutte le chiamate successive a mraid.resize()
non riusciranno fino a quando mraid.setResizeProperties()
non verrà richiamato 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
, la configurazione della proprietà forceOrientation
non comporta alcuna operazione.
Le creatività che vogliono forzare l'orientamento devono impostare allowOrientationChange
su false
.
mraid.isViewable()
Se una visualizzazione copre un annuncio altrimenti visibile, mraid.isViewable()
tornerà comunque
true
. I contenuti dell'app non devono coprire gli annunci visibili.
mraid.getCurrentPosition()
Mentre un annuncio espandibile in due elementi è nello stato espanso, una chiamata a mraid.getCurrentPosition()
nel primo elemento 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à dovrebbero essere in grado di gestire il caso in cui questi metodi non siano disponibili.
mraid.storePicture()
L'app richiede automaticamente l'autorizzazione per salvare un'immagine
quando una creatività MRAID chiama mraid.storePicture()
.