Os anúncios nativos têm muitos recursos avançados que permitem fazer personalizações e criar a melhor experiência de anúncio possível. Este guia mostra a usar os recursos avançados dos anúncios nativos.
Pré-requisitos
- Integre o formato de anúncio nativo.
Controles de recursos
Controles de proporção de mídia preferidos
Os Controles de proporção de mídia permitem que você especifique uma preferência para a proporção de criativos de anúncios.
Definir GADNativeAdMediaAdLoaderOptions mediaAspectRatio
com um GADMediaAspectRatio
.
Se não for definido, o anúncio retornado poderá ter qualquer proporção de mídia.
Quando definido, é possível melhorar a experiência do usuário especificando o o tipo de proporção preferencial.
O exemplo a seguir instrui o SDK a preferir uma imagem ou um vídeo de retorno com um proporção específica.
GADNativeAdMediaAdLoaderOptions *nativeOption = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOption.mediaAspectRatio = GADMediaAspectRatioAny;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Controle de download de imagens
O controle de download de imagens permite decidir se os recursos de imagem ou somente URIs retornados pelo SDK.
DefinirGADNativeAdImageAdLoaderOptions disableImageLoading
com um valor BOOL
.
O controle de download de imagens fica desativado por padrão.
Quando desativado, o SDK dos anúncios para dispositivos móveis do Google preenche a imagem e o URI para você.
Quando ativado, o SDK preenche apenas o URI, permitindo que você faça o download as imagens reais a seu critério.
O exemplo a seguir instrui o SDK a retornar apenas o URI.
GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.disableImageLoading = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Controles de payload de imagem
Alguns anúncios apresentam uma série de imagens em vez de apenas uma. Use esse recurso para indique se o app está preparado para exibir todas as imagens ou apenas uma.
DefinirGADNativeAdImageAdLoaderOptions shouldRequestMultipleImages
com um valor BOOL
.
Os controles de payload de imagem estão desativados por padrão.
Quando desativado, o app instrui o SDK a fornecer apenas o dos recursos que contêm uma série.
Quando ativado, o app indica que está preparado para exibir todas as imagens para qualquer recurso que tenha mais de um.
O exemplo a seguir instrui o SDK a retornar vários recursos de imagem.
GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.shouldRequestMultipleImages = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Canais das Opções de anúncios
Controles de posição das Opções de anúncios
Com os controles de posição das Opções de anúncios, você escolhe em qual canto renderizar Ícone "Opções de anúncios".
Definir GADNativeAdViewAdOptions preferredAdChoicesPosition
com um GADAdChoicesPosition
.
Se não for definida, a posição do ícone "Opções de anúncios" será definida no canto superior direito.
Se definidas, as Opções de anúncios são colocadas na posição personalizada conforme solicitado.
O exemplo a seguir demonstra como definir uma posição de imagem das Opções de anúncios personalizada.
GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopLeftCorner;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
Visualização personalizada das Opções de anúncios
O recurso de visualização personalizada "Opções de anúncios" permite posicionar o ícone "Opções de anúncios" local personalizado. Isso é diferente dos controles de posição das Opções de anúncios, que só permite a especificação de um dos quatro cantos.
Defina o GADNativeAd.adChoicesView
.
propriedade com um GADAdChoicesView
antes da renderização, e o conteúdo das Opções de anúncios será renderizado dentro do
GADAdChoicesView
.
O exemplo a seguir demonstra como definir uma visualização personalizada das Opções de anúncios. O
O ícone "Opções de anúncios" será renderizado dentro do GADAdChoicesView
.
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
...
GADAdChoicesView *customAdChoicesView =
[[GADAdChoicesView alloc] initWithFrame: CGRectMake(..., ..., ..., ...)];
[nativeAdView addSubview:customAdChoicesView];
nativeAdView.adChoicesView = customAdChoicesView;
// Associate the native ad view with the native ad object. This is
// required to make the ad clickable.
// Note: this should always be done after populating the ad views.
nativeAdView.nativeAd = nativeAd;
}
Swift
func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
refreshAdButton.isEnabled = true
...
// Define a custom position for the AdChoices icon.
let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
let customAdChoicesView = GADAdChoicesView(frame: customRect)
nativeAdView.addSubview(customAdChoicesView)
nativeAdView.adChoicesView = customAdChoicesView
// Associate the native ad view with the native ad object. This is
// required to make the ad clickable.
// Note: this should always be done after populating the ad views.
nativeAdView.nativeAd = nativeAd;
}
Controles de vídeo
Iniciar comportamento silenciado
O comportamento de início sem som permite desativar ou ativar o áudio inicial de um vídeo.
DefinirGADVideoOptions startMuted
com um valor BOOL
.
O comportamento de início sem som é ativado por padrão.
Quando desativado, o app solicita que o vídeo comece com áudio.
Quando ativado, o app solicita que o vídeo comece com o áudio desativado.
O exemplo a seguir mostra como iniciar o vídeo com o áudio ativado.
GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.startMuted = NO;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
Controles de mídia personalizados
Isso permite que você solicite controles de entrada de vídeo personalizados para reproduzir, pausar ou silenciar o vídeo.
DefinirGADVideoOptions customControlsRequested
com um valor BOOL
.
O controle de reprodução personalizado fica desativado por padrão.
Quando desativado, o vídeo mostra os controles de entrada renderizados pelo SDK.
- Quando essa opção estiver ativada, você poderá usar
GADVideoController play
eGADVideoController pause
eGADVideoController setMute
para controlar o anúncio em vídeo.
- Se o anúncio tiver conteúdo de vídeo e controles personalizados estiverem ativados, você deverá
exiba seus controles personalizados junto com o anúncio, já que ele não exibirá
controla por conta própria. Os controles podem chamar os métodos relevantes no
GADVideoController
O exemplo a seguir mostra como solicitar um vídeo com controles de reprodução personalizados.
GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.customControlsRequested = YES;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
Verificar se os controles personalizados estão ativados
Como não se sabe no momento da solicitação se o anúncio retornado permitirá controles de vídeo personalizados, você precisa verificar se os controles personalizados estão ativados.
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd*)nativeAd {
GADVideoController *videoController = nativeAd.mediaContent.videoController;
BOOL canShowCustomControls = videoController.customControlsEnabled;
}
Swift
func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
let videoController = nativeAd.mediaContent.videoController
let canShowCustomControls = videoController?.customControlsEnabled() == true
}
Gestos de clique personalizados
Os gestos de clique personalizados são um recurso de anúncios nativos que permite deslizar nas visualizações de anúncios para ser registrados como cliques no anúncio. Ele foi projetado para funcionar com apps que usam o recurso de deslizar e gestos para navegação de conteúdo. Este guia mostra como ativar o clique personalizado gestos nos anúncios nativos.
Inicializar um GADNativeAdCustomClickGestureOptions
instância com a direção de deslizar selecionada. Você também precisa indicar se
você quer que toques sejam permitidos como cliques.
Os gestos de clique personalizados estão desativados por padrão.
Quando desativado, apenas toques serão contados como cliques.
Quando ativados, os gestos de deslizar contam como cliques, e você pode especificar se os toques ainda podem ser contados como cliques.
O exemplo a seguir mostra como implementar um gesto de deslizar personalizado para o para a direita e preserva o comportamento normal de toque.
GADNativeAdCustomClickGestureOptions *swipeGestureOptions = [[GADNativeAdCustomClickGestureOptions alloc]
initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
tapsAllowed:YES];
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ swipeGestureOptions ]];
Ouvir eventos de gestos de deslizar
Quando um clique de gesto de deslizar é registrado, o SDK dos anúncios para dispositivos móveis do Google invoca o
nativeAdDidRecordSwipeGestureClick:
método delegado em GADNativeAdDelegate
, além do nativeAdDidRecordClick:
existente
método delegado.
#pragma mark - GADNativeAdDelegate implementation
// Called when a swipe gesture click is recorded.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
NSLog(@"A swipe gesture click has occurred.");
}
// Called when a swipe gesture click or a tap click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
NSLog(@"A swipe gesture click or tap click has occurred.");
}
Mediação
Os gestos de clique personalizados só funcionam em anúncios nativos que o Google Mobile O SDK de anúncios é renderizado. Origens de anúncios que exigem SDKs de terceiros para renderização, não respondem à configuração de rotas de clique personalizadas.