Os anúncios nativos são recursos de publicidade mostrados aos usuários por componentes de interface nativos da plataforma. Eles são exibidos com base nas mesmas classes usadas nos seus storyboards e podem ser formatados de modo compatível com o design visual do seu app.
Quando um anúncio nativo é carregado, seu app recebe um objeto de anúncio que contém os recursos dele. O aplicativo, e não o SDK dos anúncios para dispositivos móveis do Google, é responsável por mostrar esses recursos.
De modo geral, a implementação dos anúncios nativos é feita em duas etapas: carregar um anúncio usando o SDK e exibir o conteúdo do anúncio no app.
Nesta página, mostramos como usar o SDK para carregar anúncios nativos.
Pré-requisitos
- Leia o guia para iniciantes.
Sempre usar 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 é usando nosso ID de bloco de anúncios dedicado para testes com anúncios nativos no iOS:
/21775744923/example/native
Ele foi configurado especialmente para retornar anúncios de teste em todas as solicitações, e você pode usá-lo nos seus próprios apps durante a programação, os testes e a depuração. Não se esqueça de substituí-lo pelo seu ID do bloco de anúncios antes de publicar o app.
Para mais informações sobre como os anúncios de teste do SDK para dispositivos móveis do Google funcionam, consulte Anúncios de teste.
Carregar anúncios
Os anúncios nativos são carregados com a classe
GADAdLoader
,
que envia mensagens aos delegados de acordo com o protocolo
GADAdLoaderDelegate
.
Além do formato nativo definido pelo sistema, você também pode criar seus próprios
formatos personalizados de anúncios nativos,
que podem ser usados em anúncios de venda direta. Com os formatos de anúncios nativos personalizados, você pode
transmitir dados estruturados arbitrários para seu app. Esses anúncios são representados pela
classe GADCustomNativeAd
.
Inicializar o carregador de anúncios
Antes de carregar um anúncio, você precisa inicializar o carregador.
O código a seguir demonstra como inicializar um GADAdLoader
:
Swift
adLoader = AdLoader(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;
Você vai precisar de um ID de bloco de anúncios (que pode ser o de teste), de constantes para transmitir na matriz
adTypes
e especificar quais formatos nativos você quer solicitar, e também das
opções que você quer definir no parâmetro options
. A lista de valores possíveis
para o parâmetro options
pode ser encontrada na página Definir opções de
anúncios nativos.
A matriz adTypes
precisa conter uma ou mais das seguintes constantes
:
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, o protocolo GADNativeAdLoaderDelegate
inclui uma mensagem
enviada ao delegado quando eles são carregados.
Swift
public func adLoader(_ adLoader: AdLoader,
didReceive nativeAd: NativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
O protocolo GADCustomNativeAdLoaderDelegate
inclui uma mensagem enviada ao
delegado quando um anúncio modelo personalizado é carregado.
Swift
func adLoader(_ adLoader: AdLoader,
Receive customNativeAd: CustomNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;
Solicitar anúncios
Depois que GADAdLoader
for inicializado, chame o método loadRequest:
dele para
solicitar um anúncio:
Swift
adLoader.load(AdManagerRequest())
Objective-C
[self.adLoader loadRequest:[GAMRequest request]];
O método
loadRequest:
no
GADAdLoader
aceita os mesmos objetos
GAMRequest
que banners e intersticiais. É possível usar os objetos da solicitação para adicionar
informações de segmentação do mesmo modo que você
faria com outros tipos de anúncios.
Determinar quando o carregamento foi concluído
Depois que um app chama loadRequest:
, ele pode receber os resultados da solicitação usando
chamadas para:
adLoader:didFailToReceiveAdWithError:
noGADAdLoaderDelegate
adLoader:didReceiveNativeAd:
noGADNativeAdLoaderDelegate
A solicitação de um único anúncio vai resultar em uma chamada para um desses métodos.
Como lidar com solicitações com falha
Os protocolos acima estendem o GADAdLoaderDelegate
, que define a
mensagem enviada quando ocorre uma falha no carregamento dos anúncios.
Swift
public func adLoader(_ adLoader: AdLoader,
didFailToReceiveAdWithError error: NSError)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didFailToReceiveAdWithError:(NSError *)error;
Receber notificações sobre eventos de anúncios nativos
Para receber notificações sobre eventos relacionados às interações com anúncios nativos, defina a propriedade delegado do anúncio nativo:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
Em seguida, implemente
GADNativeAdDelegate
para receber as seguintes chamadas de delegado:
Swift
func nativeAdDidRecordImpression(_ nativeAd: NativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: NativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: NativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: NativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: NativeAd) {
// 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 pré-armazenar a lista de anúncios em cache.
Quando você fizer isso, limpe e recarregue o cache depois de uma hora.
Não chame
loadRequest:
novamente em umGADAdLoader
até que a solicitação anterior termine de carregar, conforme indicado poradLoaderDidFinishLoading:
.Limite o cache de anúncios nativos apenas ao que é necessário. Por exemplo, ao usar o pré-cache, armazene apenas os anúncios que estão imediatamente visíveis na tela. Os anúncios nativos têm um grande consumo de memória, e o armazenamento em cache sem destruição resulta em uso excessivo.
Destrua os anúncios nativos quando não estiverem mais em uso.
Mostrar seu anúncio
Depois de carregar um anúncio, basta mostrá-lo aos usuários. Acesse nosso guia de anúncios nativos avançados para saber como fazer isso.