Gli annunci nativi sono asset annuncio presentati agli utenti tramite componenti UI nativi della piattaforma. Vengono mostrati con gli stessi corsi che usi già nei tuoi storyboard e possono essere formattati in base al design visivo della tua app.
Quando viene caricato un annuncio nativo, la tua app riceve un oggetto annuncio contenente gli asset e sarà responsabile della loro visualizzazione, anziché l'SDK Google Mobile Ads.
In linea di massima, l'implementazione degli annunci nativi prevede due fasi: caricare un annuncio utilizzando l'SDK e poi visualizzare i contenuti dell'annuncio nella tua app.
Questa pagina mostra come utilizzare l'SDK per caricare gli annunci nativi.
Prerequisiti
- Completa la Guida introduttiva.
Esegui sempre test con annunci di prova
Quando crei e testi le tue app, assicurati di utilizzare annunci di prova anziché annunci di produzione pubblicati.
Il modo più semplice per caricare gli annunci di prova è utilizzare il nostro ID unità pubblicitaria di prova dedicato per gli annunci nativi su iOS:
/21775744923/example/native
È stato configurato appositamente per restituire annunci di prova per ogni richiesta e puoi usarlo nelle tue app durante la programmazione, i test e il debug. Assicurati solo di sostituirlo con il tuo ID unità pubblicitaria prima di pubblicare l'app.
Per saperne di più sul funzionamento degli annunci di prova dell'SDK Google Mobile Ads, consulta Annunci di prova.
Caricare gli annunci
Gli annunci nativi vengono caricati con la classe
GADAdLoader
che invia messaggi ai relativi delegati in base al protocollo
GADAdLoaderDelegate
.
Oltre al formato nativo definito dal sistema, puoi anche creare i tuoi formati degli annunci nativi personalizzati che possono essere utilizzati per gli annunci nativi venduti direttamente. I formati degli annunci nativi personalizzati ti consentono di
trasmettere dati strutturati arbitrari alla tua app. Questi annunci sono rappresentati dalla
classeGADCustomNativeAd
.
Inizializza il caricatore di annunci
Prima di poter caricare un annuncio, devi inizializzare il caricatore di annunci.
Il seguente codice mostra come inizializzare un GADAdLoader
:
Swift
adLoader = GADAdLoader(adUnitID: "/21775744923/example/native",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"/21775744923/example/native"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;
Avrai bisogno di un ID unità pubblicitaria (puoi utilizzare l'ID test), delle costanti da passare nell'array adTypes
per specificare i formati nativi da richiedere e le eventuali opzioni da impostare nel parametro options
. L'elenco dei possibili valori per il parametro options
è disponibile nella pagina Impostazione delle opzioni degli annunci nativi.
L'array adTypes
deve contenere una o più delle seguenti costanti:
Implementare il delegato del caricatore di annunci
Il delegato del caricamento degli annunci deve implementare protocolli specifici per il tipo di annuncio.
Per gli annunci nativi, il protocollo GADNativeAdLoaderDelegate
include un messaggio
che viene inviato al delegato quando viene caricato un annuncio nativo.
Swift
public func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
Il protocollo GADCustomNativeAdLoaderDelegate
include un messaggio che viene inviato al delegato quando viene caricato un annuncio con modello personalizzato.
Swift
func adLoader(_ adLoader: GADAdLoader,
Receive customNativeAd: GADCustomNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;
Richiedi annunci
Dopo aver inizializzato GADAdLoader
, chiama il relativo metodo loadRequest:
per richiedere un annuncio:
Swift
adLoader.load(GAMRequest())
Objective-C
[self.adLoader loadRequest:[GAMRequest request]];
Il metodo
loadRequest:
in
GADAdLoader
accetta gli stessi
GAMRequest
oggetti di banner e interstitial. Puoi utilizzare gli oggetti request per aggiungere informazioni sul targeting, come faresti con altri tipi di annunci.
Determinare quando il caricamento è terminato
Dopo che un'app chiama loadRequest:
, può ottenere i risultati della richiesta utilizzando chiamate a:
adLoader:didFailToReceiveAdWithError:
inGADAdLoaderDelegate
adLoader:didReceiveNativeAd:
inGADNativeAdLoaderDelegate
Una richiesta di un singolo annuncio comporterà una chiamata a uno di questi metodi.
Gestione delle richieste non riuscite
I protocolli precedenti estendono il protocollo GADAdLoaderDelegate
, che definisce un messaggio inviato quando non riesce a caricare gli annunci.
Swift
public func adLoader(_ adLoader: GADAdLoader,
didFailToReceiveAdWithError error: NSError)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didFailToReceiveAdWithError:(NSError *)error;
Ricevere notifiche sugli eventi degli annunci nativi
Per ricevere una notifica degli eventi relativi alle interazioni con gli annunci nativi, imposta la proprietà delegate dell'annuncio nativo:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
Poi implementa
GADNativeAdDelegate
per ricevere le seguenti chiamate del delegato:
Swift
func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) {
// The native ad will cause the app to become inactive and
// open a new app.
}
Objective-C
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
// The native ad was shown.
}
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
// The native ad was clicked on.
}
- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
// The native ad will present a full screen view.
}
- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
// The native ad will dismiss a full screen view.
}
- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
// The native ad did dismiss a full screen view.
}
- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
// The native ad will cause the app to become inactive and
// open a new app.
}
Best practice
Segui queste regole quando carichi gli annunci.
Le app che utilizzano annunci nativi in un elenco devono eseguire la memorizzazione nella cache dell'elenco di annunci.
Quando esegui la pre-memorizzazione degli annunci nella cache, svuota la cache e ricarica la pagina dopo un'ora.
Non chiamare più
loadRequest:
suGADAdLoader
fino al termine del caricamento della richiesta precedente, come indicato daadLoaderDidFinishLoading:
.Limita la memorizzazione nella cache degli annunci nativi solo a ciò che è necessario. Ad esempio, durante il pre-caching, memorizza nella cache solo gli annunci immediatamente visibili sullo schermo. Gli annunci nativi hanno un utilizzo di memoria elevato e la memorizzazione nella cache degli annunci nativi senza distruggerli si traduce in un utilizzo eccessivo di memoria.
Elimina gli annunci nativi quando non sono più in uso.
Mostra il tuo annuncio
Dopo aver caricato un annuncio, non resta che mostrarlo agli utenti. Per scoprire come, consulta la nostra guida avanzata sulla pubblicità nativa.