Os anúncios nativos são recursos apresentados aos usuários por meio de componentes da interface que são nativos da plataforma. Elas são mostradas usando as mesmas classes que você já usa nos storyboards e podem ser formatados para combinar com o design visual do seu aplicativo.
Quando um anúncio nativo é carregado, seu app recebe um objeto de anúncio com os recursos dele. e o app (em vez do SDK dos anúncios para dispositivos móveis do Google) é responsável por exibi-los.
A implementação de anúncios nativos tem duas partes: Carregar um anúncio usando o SDK e exibir o conteúdo do anúncio no app.
Esta página mostra como usar o SDK para carregar anúncios nativos.
Pré-requisitos
- Leia o Guia explicativo.
Sempre faça testes com anúncios de teste
Ao criar e testar seus apps, use anúncios de teste em vez de anúncios de produção ativos.
A maneira mais fácil de carregar anúncios de teste é usar nosso ID de bloco de anúncios de teste dedicado para anúncios nativos no iOS:
Ele foi configurado especialmente para retornar anúncios de teste para cada solicitação, e você pode usá-lo nos seus próprios apps durante a programação, o teste e a depuração. Apenas certifique-se de e substitua-o pelo seu próprio ID do bloco de anúncios antes de publicar o app.
Para mais informações sobre como funcionam os anúncios de teste do SDK dos anúncios para dispositivos móveis do Google, consulte Anúncios de teste.
Carregar anúncios
Os anúncios nativos são carregados
GADAdLoader
, que enviam mensagens para seus delegados de acordo com a
GADAdLoaderDelegate
protocolo.
Inicializar o carregador de anúncios
Antes de carregar um anúncio, você precisa inicializar o carregador de anúncios.
O código abaixo demonstra como inicializar um GADAdLoader
:
Swift
adLoader = GADAdLoader(adUnitID: "",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@""
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;
Você precisa de um ID de bloco de anúncios (use o ID de teste), constantes para transmitir o
adTypes
para especificar os formatos nativos que você quer solicitar e as
opções que você quer definir no parâmetro options
. A lista de possíveis
valores do parâmetro options
podem ser encontrados na consulta Configuração
página de opções.
A matriz adTypes
precisa conter
essa constante :
Implementar o delegado do carregador de anúncios
O delegado do carregador de anúncios precisa implementar protocolos específicos para seu tipo de anúncio.
Para anúncios nativos, a
GADNativeAdLoaderDelegate
inclui uma mensagem que é enviada ao
delegar quando um anúncio nativo for carregado.
Swift
public func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
Solicitar anúncios
Depois que o GADAdLoader
for inicializado, chame o método loadRequest:
para
solicitar um anúncio:
Swift
adLoader.load(GADRequest())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
O
loadRequest:
em
GADAdLoader
aceita o mesmo
GADRequest
objetos como banners e intersticiais. Você pode usar objetos de solicitação para adicionar
suas informações de segmentação, assim como
faria com outros tipos de anúncio.
Carregar vários anúncios (opcional)
Para carregar vários anúncios em uma única solicitação, defina o
GADMultipleAdsAdLoaderOptions
ao inicializar um GADAdLoader
.
Swift
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ multipleAdOptions ])
Objective-C
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@""
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
O número de anúncios por solicitação tem um limite de cinco anúncios, e não é possível garantir que o SDK retornará o número exato de anúncios solicitados.
Os anúncios retornados do Google serão diferentes entre si, embora os anúncios de inventário reservado ou compradores de terceiros não têm garantia de serem exclusivos.
Não use a classe GADMultipleAdsAdLoaderOptions
se você estiver usando a mediação.
pois as solicitações de vários anúncios nativos atualmente não funcionam para IDs de blocos de anúncios que
foram configuradas para mediação.
Determinar quando o carregamento foi concluído
Depois que um app chamar loadRequest:
, ele poderá receber os resultados da solicitação usando
chamadas para:
adLoader:didFailToReceiveAdWithError:
emGADAdLoaderDelegate
adLoader:didReceiveNativeAd:
emGADNativeAdLoaderDelegate
A solicitação para um único anúncio resultará em uma chamada para um desses métodos.
Uma solicitação de vários anúncios resultará em pelo menos um callback para o endereço acima métodos, mas não mais do que o número máximo de anúncios solicitados.
Além disso, o GADAdLoaderDelegate
oferece o adLoaderDidFinishLoading
o retorno de chamada. Esse método delegado indica que um carregador de anúncios terminou de carregar
anúncios, e nenhum outro anúncio ou erro será informado para a solicitação. Este é um
exemplo de como usá-lo ao carregar vários anúncios nativos de uma vez:
Swift
class ViewController: UIViewController, GADNativeAdLoaderDelegate {
var adLoader: GADAdLoader!
override func viewDidLoad() {
super.viewDidLoad()
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ multipleAdOptions ])
adLoader.delegate = self
adLoader.load(GADRequest())
}
func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd) {
// A native ad has loaded, and can be displayed.
}
func adLoaderDidFinishLoading(_ adLoader: GADAdLoader) {
// The adLoader has finished loading ads, and a new request can be sent.
}
}
Objective-C
@interface ViewController () <GADNativeAdLoaderDelegate, GADVideoControllerDelegate>
@property(nonatomic, strong) GADAdLoader *adLoader;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@""
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
self.adLoader.delegate = self;
[self.adLoader loadRequest:[GADRequest request]];
}
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd {
// A native ad has loaded, and can be displayed.
}
- (void)adLoaderDidFinishLoading:(GADAdLoader *) adLoader {
// The adLoader has finished loading ads, and a new request can be sent.
}
@end
Tratamento de solicitações com falha
Os protocolos acima estendem o protocolo GADAdLoaderDelegate
, que define uma
é enviada quando há falha no carregamento dos anúncios.
Swift
public func adLoader(_ adLoader: GADAdLoader,
didFailToReceiveAdWithError error: NSError)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didFailToReceiveAdWithError:(NSError *)error;
Receber notificações de eventos de anúncios nativos
Para receber notificações sobre eventos relacionados às interações de anúncios nativos, defina a propriedade do anúncio nativo:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
Em seguida, implemente
GADNativeAdDelegate
receber as seguintes chamadas de delegado:
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.
}
Práticas recomendadas
Siga estas regras ao carregar anúncios.
Os apps que usam anúncios nativos em uma lista precisam armazenar essa lista previamente em cache.
Ao armazenar anúncios em cache, limpe o cache e atualize após uma hora.
Não chamar
loadRequest:
novamente em umaGADAdLoader
até a solicitação anterior termine de carregar, conforme indicado poradLoaderDidFinishLoading:
.
Exiba seu anúncio
Depois de carregar um anúncio, resta apenas exibi-lo aos usuários. Acesse o módulo Nativo para saber como.