Os anúncios nativos têm muitos recursos avançados, e com eles você pode criar personalizações e oferecer a melhor experiência possível. Este guia mostra como usar esses recursos.
Pré-requisitos
- Integre o formato de anúncio nativo.
Controles de recursos
Configure os controles de recursos de anúncios nativos.
Controles de preferência sobre a proporção das mídias
Com a API "Media Aspect Ratio Controls", você pode especificar uma preferência para a proporção dos criativos de anúncios.
Defina GADNativeAdMediaAdLoaderOptions mediaAspectRatio
com um GADMediaAspectRatio
.
Quando essa propriedade não é definida, o anúncio retornado pode ter qualquer proporção.
Quando definida, você pode aprimorar a experiência do usuário especificando o tipo de proporção desejado.
O exemplo a seguir instrui o SDK a escolher uma imagem ou um vídeo com uma 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
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 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:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Os controles de payload de imagens ficam desativados por padrão.
Quando desativados, o app instrui o SDK a fornecer apenas a primeira imagem de qualquer recurso que tiver uma série.
Quando ativados, 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:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ nativeOption ]];
Posições 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 isso não for feito, o ícone vai ficar no canto superior direito.
Se você definir uma posição, o ícone será colocado no local escolhido.
O exemplo a seguir mostra como definir uma posição personalizada para a imagem das Opções de Anúncios.
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 das Opções de Anúncios permite colocar esse ícone no local que você escolher. Esse recurso é diferente dos controles de posição das Opções de Anúncios, que permitem especificar apenas um dos quatro cantos da imagem.
Defina a propriedade GADNativeAd.adChoicesView
com um GADAdChoicesView
antes da renderização. 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 desse ícone. Ele
será renderizado dentro de 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.
Comportamento de iniciar sem som
Com o comportamento de iniciar 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 sem som fica 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 sem áudio.
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
Esse recurso permite solicitar controles personalizados para reproduzir, pausar ou silenciar o vídeo.
Defina GADVideoOptions customControlsRequested
com um valor BOOL
.
Os controles personalizados de mídia ficam desativados por padrão.
Quando desativados, seu vídeo vai mostrar controles de reprodução renderizados pelo SDK.
- Quando ativados, 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, já que o anúncio não vai exibir 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 mídia 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 vai permitir controles de vídeo personalizados, verifique 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 estas práticas recomendadas:
- Renderize os controles personalizados como um elemento filho da visualização de anúncio nativo. Com essa abordagem, os cálculos de visibilidade da medição aberta consideram os controles personalizados como uma obstrução amigável.
- Evite renderizar uma sobreposição invisível por cima de toda a visualização de mídia. As sobreposições bloqueiam os cliques na visualização, afetando negativamente a performance dos anúncios nativos. Crie uma sobreposição com tamanho suficiente apenas para caber nos controles.
Gestos de clique personalizados
Com esse recurso dos anúncios nativos, gestos de deslizar em visualizações de anúncio podem ser registrados como cliques. Ele foi projetado para funcionar com apps que usam esses gestos na navegação. 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 entendidos como cliques.
Os gestos de clique personalizados ficam desativados por padrão.
Quando desativados, apenas toques serão contados como cliques.
Quando ativados, os gestos de deslizar serão contabilizados como cliques, e você pode especificar se os toques também serão.
O exemplo a seguir mostra como implementar um gesto de deslizar personalizado para a direita e como 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:@"/21775744923/example/native"
rootViewController:self
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ swipeGestureOptions ]];
Detectar eventos relacionados a gestos de deslizar
Quando um clique do tipo "gesto de deslizar" é registrado,
o SDK dos anúncios para dispositivos móveis do Google
invoca o método de delegado
nativeAdDidRecordSwipeGestureClick:
em GADNativeAdDelegate
,
além do método de 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 a essa configuração.