Opções de anúncios nativos

Selecione a plataforma: Android iOS

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

Controles de recursos

Esta seção detalha como personalizar os recursos de criativo nos seus anúncios nativos. Você pode especificar uma proporção preferida para recursos de mídia e como os recursos de imagem são baixados e mostrados.

Controles de proporção preferencial para 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.

  • Mas se ela estiver 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.

Swift

let nativeOptions = NativeAdMediaAdLoaderOptions()
nativeOptions.mediaAspectRatio = .any

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdMediaAdLoaderOptions *nativeOptions = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOptions.mediaAspectRatio = GADMediaAspectRatioAny;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Substitua nativeAdUnitID pelo ID do seu bloco de anúncios.

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.

  • Se o controle estiver desativado, o SDK dos Anúncios para Dispositivos Móveis do Google vai preencher a imagem e o URI para você.

  • Mas se ele estiver ativado, o SDK vai preencher apenas o URI, e você poderá baixar as imagens reais a seu critério.

O exemplo a seguir instrui o SDK a retornar apenas o URI.

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.isImageLoadingDisabled = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.disableImageLoading = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Controles de payload de imagens

Alguns anúncios têm uma série de imagens em vez de apenas uma. Use esse recurso para indicar se o app está preparado para mostrar todas as imagens ou apenas uma.

  • Os controles de payload de imagens ficam desativados por padrão.

  • Nesse caso, o app instrui o SDK a fornecer apenas a primeira imagem de qualquer recurso que tiver uma série.

  • Mas quando os controles estão 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.

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.shouldRequestMultipleImages = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.shouldRequestMultipleImages = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

Posições das Opções de Anúncios

Esta seção detalha como posicionar a sobreposição das Opções de Anúncios. Você pode colocá-la em um dos quatro cantos da imagem ou renderizar em uma visualização personalizada.

Controles de posições 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 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 das Opções de Anúncios na imagem.

Swift

let nativeOptions = NativeAdViewAdOptions()
nativeOptions.preferredAdChoicesPosition = .topRightCorner

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopRightCorner;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   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. O ícone das Opções de Anúncios é renderizado dentro do GADAdChoicesView:

Swift

private func createAdChoicesView(nativeAdView: NativeAdView) {
  // 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
}

Objective-C

- (void)createAdChoicesViewWithNativeAdView:(GADNativeAdView *)nativeAdView {
  // Define a custom position for the AdChoices icon.
  CGRect customRect = CGRectMake(100, 100, 15, 15);
  GADAdChoicesView *customAdChoicesView = [[GADAdChoicesView alloc] initWithFrame:customRect];
  [nativeAdView addSubview:customAdChoicesView];
  nativeAdView.adChoicesView = customAdChoicesView;
}

Controles de vídeo

Esta seção detalha como personalizar a experiência de reprodução dos anúncios em vídeo. Você pode definir o estado inicial como sem som e também implementar controles personalizados.

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.

  • Se ele for desativado, o app solicita que o vídeo comece com áudio.

  • Com o comportamento 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.

Swift

let videoOptions = VideoOptions()
videoOptions.shouldStartMuted = false

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.startMuted = NO;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

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.

  • Nesses casos, seu vídeo vai mostrar controles de reprodução renderizados pelo SDK.

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

GADVideoController.

O exemplo a seguir mostra como solicitar um vídeo com controles de mídia personalizados.

Swift

let videoOptions = VideoOptions()
videoOptions.areCustomControlsRequested = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.customControlsRequested = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

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.

Swift

private func checkCustomControlsEnabled(nativeAd: NativeAd) -> Bool {
  let videoController = nativeAd.mediaContent.videoController
  return videoController.areCustomControlsEnabled
}

Objective-C

- (BOOL)checkCustomControlsEnabledWithNativeAd:(GADNativeAd *)nativeAd {
  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  return videoController.customControlsEnabled;
}

Renderizar controles de vídeo personalizados

Renderize controles de vídeo personalizados usando estas práticas recomendadas:

  1. 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.
  2. 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 para apenas caber os 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 eles estiverem desativados, apenas toques serão contados como cliques.

  • Mas se eles forem 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.

Swift

let swipeGestureOptions = NativeAdCustomClickGestureOptions(
  swipeGestureDirection: .right,
  tapsAllowed: true)

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [swipeGestureOptions])

Objective-C

GADNativeAdCustomClickGestureOptions *swipeGestureOptions =
    [[GADNativeAdCustomClickGestureOptions alloc]
        initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
                          tapsAllowed:YES];

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   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 delegado nativeAdDidRecordSwipeGestureClick: em GADNativeAdDelegate , além do método delegado nativeAdDidRecordClick: atual.

Swift

// Called when a swipe gesture click is recorded, as configured in
// NativeAdCustomClickGestureOptions.
func nativeAdDidRecordSwipeGestureClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click has occurred.")
}

// Called when a swipe gesture click or a tap click is recorded.
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click or tap click has occurred.")
}

Objective-C

// Called when a swipe gesture click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click has occurred.");
}

// Called when a swipe gesture click or a tap click is recorded.
- (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.