Os anúncios nativos têm muitos recursos avançados que permitem fazer outras personalizações e criar a melhor experiência de anúncio possível. Este guia mostra como usar os recursos avançados dos anúncios nativos.
Pré-requisitos
- Integre o formato de anúncio nativo.
Controles de recursos
Configure os controles de recursos de anúncios nativos.
Controles de proporção de mídia preferida
Com os controles de proporção da mídia, você pode especificar uma preferência para a proporção dos criativos de anúncio.
Defina GADNativeAdMediaAdLoaderOptions mediaAspectRatio
com um GADMediaAspectRatio
.
Quando não definido, o anúncio retornado pode ter qualquer proporção de mídia.
Quando definido, você pode melhorar a experiência do usuário especificando o tipo de proporção da tela preferido.
O exemplo a seguir instrui o SDK a preferir uma imagem ou um vídeo de retorno com uma proporção específica.
GADNativeAdMediaAdLoaderOptions *nativeOption = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOption.mediaAspectRatio = GADMediaAspectRatioAny;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Controle de download de imagens
Com o controle de download de imagens, você decide se o SDK vai retornar recursos de imagem ou apenas URIs.
Defina GADNativeAdImageAdLoaderOptions 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ê baixe 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:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Os controles de payload de imagem ficam desativados por padrão.
Quando desativado, o app instrui o SDK a fornecer apenas a primeira imagem de recursos que contêm uma série.
Quando ativado, o app indica que está preparado para mostrar todas as imagens de recursos que têm mais de uma.
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:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Posicionamentos das Opções de anúncios
Personalize a exibição do ícone "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 o ícone.
Defina GADNativeAdViewAdOptions preferredAdChoicesPosition
com um valor GADAdChoicesPosition
.
Se não for definido, a posição do ícone "Opções de anúncios" será definida como canto superior direito.
Se definido, o AdChoices será colocado na posição personalizada conforme solicitado.
O exemplo a seguir demonstra como definir uma posição personalizada para a imagem das Escolhas de anúncios.
GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopLeftCorner;
GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
Visualização personalizada das Opções de anúncios
Com o recurso de visualização personalizada "Opções de anúncios", é possível posicionar o ícone em um local personalizado. Isso é diferente dos controles de posição do AdChoices, que permitem especificar apenas um dos quatro cantos.
Defina a propriedade GADNativeAd.adChoicesView
com um GADAdChoicesView
antes da renderização. O conteúdo do AdChoices será renderizado dentro do GADAdChoicesView
.
O exemplo a seguir demonstra como definir uma visualização personalizada de AdChoices. 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: AdLoader, didReceive nativeAd: NativeAd) {
refreshAdButton.isEnabled = true
...
// Define a custom position for the AdChoices icon.
let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
let customAdChoicesView = AdChoicesView(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
Configure o comportamento do recurso de vídeo.
Iniciar comportamento de desativação do som
Com o comportamento de início sem som, você pode ativar ou desativar o áudio inicial de um vídeo.
Defina GADVideoOptions startMuted
com um valor BOOL
.
O comportamento de iniciar com o som desativado está ativado por padrão.
Quando desativado, o app solicita que o vídeo comece com áudio.
Quando ativado, seu 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:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOptions ]];
Controles de mídia personalizados
Isso permite solicitar controles personalizados de entrada de vídeo para reproduzir, pausar ou silenciar o vídeo.
Defina GADVideoOptions customControlsRequested
com um valor BOOL
.
Os controles personalizados de reprodução ficam desativados por padrão.
Quando desativada, seu vídeo vai mostrar controles de entrada renderizados pelo SDK.
- Quando ativada, você pode usar
GADVideoController play
,GADVideoController pause
eGADVideoController setMute
para controlar o anúncio em vídeo.
Se o anúncio tiver conteúdo de vídeo e os controles personalizados estiverem ativados, mostre-os junto com o anúncio, já que ele não vai mostrar nenhum controle por conta própria. Em seguida, os controles podem chamar os métodos relevantes no
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:@"ca-app-pub-3940256099942544/3986624511"
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 vai permitir controles de vídeo personalizados, é necessário verificar se eles 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: AdLoader, didReceive nativeAd: NativeAd) {
let videoController = nativeAd.mediaContent.videoController
let canShowCustomControls = videoController?.customControlsEnabled() == true
}
Renderizar controles de vídeo personalizados
Renderize controles de vídeo personalizados usando as seguintes práticas recomendadas:
- Renderize a visualização de controles personalizados como um elemento filho da visualização de anúncio nativo. Essa abordagem permite que os cálculos de visibilidade da medição aberta considerem os controles personalizados como uma obstrução amigável.
- Evite renderizar uma sobreposição invisível em toda a visualização de mídia. As sobreposições bloqueiam os cliques na visualização de mídia, afetando negativamente a performance dos anúncios nativos. Em vez disso, crie uma pequena sobreposição que seja grande o suficiente para caber nos controles.
Gestos de clique personalizados
Os gestos de clique personalizados são um recurso de anúncios nativos que permite que deslizes nas visualizações de anúncios sejam registrados como cliques. Ele foi projetado para funcionar com apps que usam gestos de deslizar para navegar pelo conteúdo. Este guia mostra como ativar gestos de clique personalizados nos seus anúncios nativos.
Inicialize uma instância GADNativeAdCustomClickGestureOptions
com a direção de deslizar selecionada. Também é necessário indicar se você quer que os toques sejam permitidos como cliques.
Os gestos de clique personalizados ficam desativados por padrão.
Quando desativada, apenas os toques serão contados como cliques.
Quando ativada, os gestos de deslizar serão contabilizados como cliques, e você poderá especificar se os toques ainda podem ser contabilizados como cliques.
O exemplo a seguir mostra como implementar um gesto de deslizar personalizado para a direita e preservar 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:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ swipeGestureOptions ]];
Detectar 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 método delegado
nativeAdDidRecordSwipeGestureClick:
em GADNativeAdDelegate
, além do método delegado nativeAdDidRecordClick:
atual.
#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
Gestos de clique personalizados só funcionam em anúncios nativos renderizados pelo SDK dos anúncios para dispositivos móveis do Google. As origens de anúncios que exigem SDKs de terceiros para renderização não respondem à configuração de instruções de clique personalizadas.