Estilos nativos

As configurações de estilo nativo permitem que o Google Ad Manager processe a renderização dos seus anúncios nativos com base nos estilos nativos que você especificar no produto. Primeiro, especifique o tamanho e a segmentação. Depois, adicione HTML, CSS e JavaScript para definir anúncios responsivos e gerar uma exibição de qualidade em todas as telas. Não é preciso fazer nenhuma renderização, o Ad Manager aplica automaticamente o estilo nativo certo ao destino. Os estilos nativos são implementados como anúncios de banner, usando um GAMBannerView. Eles podem ser usados com um tamanho de anúncio fixo determinado com antecedência ou um tamanho de anúncio fluido determinado no tempo de execução.

Pré-requisitos

  • SDK dos anúncios para dispositivos móveis do Google versão 7.14.0 ou mais recente

Este guia pressupõe algum conhecimento sobre o funcionamento do SDK dos anúncios para dispositivos móveis do Google. Se você ainda não tiver feito isso, consulte nosso guia Primeiros passos.

Tamanho fixo

Com os estilos nativos com tamanho fixo, você controla a largura e a altura do anúncio nativo. Para definir um tamanho fixo, siga estas etapas:

  1. Crie um item de linha na IU do Ad Manager e selecione um dos tamanhos predefinidos no menu suspenso do campo Size.

  2. No "Interface Builder", defina a largura e a altura da GAMBannerView para que correspondam ao tamanho predefinido selecionado na etapa 1. Confira uma lista de tamanhos e as constantes GADAdSize de cada um na seção Tamanho do banner.

Para implementar estilos nativos com um tamanho fixo, basta seguir as instruções em Sua primeira solicitação de banner. No entanto, você ganha a flexibilidade e o controle sobre HTML, CSS e JavaScript para dar ao anúncio de banner uma aparência nativa para seu app.

Tamanho flexível

Em alguns casos, um tamanho fixo pode não fazer sentido. Por exemplo, talvez você queira que a largura do anúncio corresponda ao conteúdo do seu app, mas precisa que a altura dele se ajuste dinamicamente ao conteúdo do anúncio. Para lidar com esse caso, especifique Fluid como o tamanho do anúncio na interface do Ad Manager, que designa que o tamanho do anúncio é determinado durante a execução no app. O SDK fornece uma constante GADAdSize especial, kGADAdSizeFluid, para lidar com esse caso. A altura flexível do tamanho do anúncio é determinada dinamicamente com base na largura definida pelo editor, permitindo que GAMBannerView ajuste a altura para corresponder à do criativo.

Solicitação fluida

Ao contrário de outros formatos, o tamanho de anúncio kGADAdSizeFluid não tem uma largura predefinida. Portanto, defina explicitamente a largura do frame do banner no seu código ou no Criador de interfaces. Se uma largura não for especificada, o SDK vai definir a altura do banner por padrão com base na largura total do dispositivo.

Se você fizer uma solicitação de vários tamanhos que inclua kGADAdSizeFluid, o anúncio retornado será sempre colocado dentro de um contêiner fluido e se comportará como um anúncio fluido. Caso um criativo não fluido seja retornado nesse contêiner fluido, o SDK centraliza o anúncio no contêiner para que você não precise modificar a restrição de largura sempre que um novo anúncio for retornado.

A implementação para fazer uma solicitação de tamanho único e uma solicitação flexível de vários tamanhos é muito semelhante. A única diferença é que, para uma solicitação de vários tamanhos, você define a propriedade validAdSizes para especificar os tamanhos de anúncio válidos para a solicitação:

Swift

bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
                           NSValueFromGADAdSize(kGADAdSizeBanner)]

Objective-C

_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
                              NSValueFromGADAdSize(kGADAdSizeBanner) ];

Veja como a implementação completa vai ficar no código:

Swift

var bannerView: GAMBannerView!

override func viewDidLoad() {
  super.viewDidLoad()
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  bannerView = GAMBannerView(adSize: kGADAdSizeFluid)
  var frameRect = bannerView.frame
  frameRect.size.width = view.bounds.width
  bannerView.frame = frameRect

  // Uncomment this code for a multisize fluid request.
  // bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
  //                            NSValueFromGADAdSize(kGADAdSizeBanner)]

  bannerView.adUnitID = "YOUR_AD_UNIT_ID"
  bannerView.rootViewController = self

  // Make the ad request.
  bannerView.load(GAMRequest())
}

Objective-C

GAMBannerView *_bannerView;

- (void)viewDidLoad {
  [super viewDidLoad];
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  _bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
  CGRect frameRect = _bannerView.frame;
  frameRect.size.width = CGRectGetWidth(self.view.bounds);
  _bannerView.frame = frameRect;

  // Uncomment this code for a multisize fluid request.
  // _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
  //                               NSValueFromGADAdSize(kGADAdSizeBanner) ];

  _bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
  _bannerView.rootViewController = self;

  // Make the ad request.
  [_bannerView loadRequest:[GAMRequest request]];
}

Para ver um exemplo de implementação do tamanho de anúncio Flexível do Ad Manager, faça o download do aplicativo de demonstração da API para iOS no Swift ou Objective-C.

Fazer o download da demonstração da API

Protocolo GADAdSizeDelegate

É recomendável saber a altura de um banner antes que o tamanho do anúncio mude. O callback adView:willChangeAdSizeTo: notifica o delegado antes que a visualização do banner mude para o novo GADAdSize. Para receber uma notificação antes que a visualização do banner mude para o novo tamanho de anúncio, sua classe precisa estar em conformidade com o protocolo GADAdSizeDelegate.

Confira um exemplo de implementação do callback adView:willChangeAdSizeTo:, que mostra como conferir a nova largura e altura do banner:

Swift

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self

// MARK: - GADAdSizeDelegate

func adView(_ bannerView: GADBannerView, willChangeAdSizeTo adSize: GADAdSize) {
  let height = adSize.size.height
  let width = adSize.size.width
}

Objective-C

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;

#pragma mark - GADAdSizeDelegate

- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
  CGFloat height = adSize.size.height;
  CGFloat width = adSize.size.width;
}