Opções de anúncios nativos

Selecione a plataforma: Android iOS

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

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.

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

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:@"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:

  1. 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.
  2. 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.