Annunci rich media mobile

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().