Configurações de estilo nativo
permitirá que o Google Ad Manager processe a renderização dos seus anúncios nativos com base no
estilos que você especificar no produto. Primeiro, especifique o tamanho e a segmentação.
Em seguida, adicione HTML, CSS e JavaScript para definir anúncios responsivos
e produzir uma exibição de qualidade em todas as telas. Não é necessário fazer
a renderização, O Ad Manager aplica automaticamente o estilo nativo correto
para o destino. Eles são implementados
assim como os anúncios de banner,
usando um GAMBannerView
. Eles podem ser usados com um anúncio fixo
tamanho determinado com antecedência ou um tamanho de anúncio flexível 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 requer algum conhecimento prático do SDK dos anúncios para dispositivos móveis do Google. Se ainda não tiver feito isso, confira nossa Primeiros passos.
Tamanho fixo
Os estilos nativos com tamanho fixo permitem controlar a largura e a altura do anúncio nativo. Para definir um tamanho fixo, siga estas etapas:
Crie um item de linha na interface do Ad Manager e selecione uma das tamanhos predefinidos na lista suspensa do campo
Size
.No Interface Builder, defina a largura e a altura do
GAMBannerView
para corresponder ao tamanho predefinido selecionado na etapa 1. Você verá um de tamanhos e as constantesGADAdSize
correspondentes no campo Banner tamanho nesta seção.
Para implementar estilos nativos com um tamanho fixo, basta seguir as etapas abaixo: as instruções em Seu primeiro banner solicitação, mas você ganha flexibilidade e controle sobre HTML, CSS e JavaScript para dar ao anúncio de banner uma aparência nativa e natural no seu app.
Tamanho flexível
Em alguns casos, um tamanho fixo pode não fazer sentido. Por exemplo, é possível
Você quer que a largura do anúncio corresponda ao conteúdo do seu app, mas precisa da altura dele.
para se ajustar dinamicamente ao conteúdo do anúncio. Para lidar com esse caso,
é possível especificar Fluid
como o tamanho do anúncio na interface do Ad Manager, que
designa que o tamanho do anúncio é determinado no tempo de execução no aplicativo.
O SDK fornece uma constante GADAdSize
especial,
kGADAdSizeFluid
,
de lidar com esse caso. A altura do tamanho flexível do anúncio é determinada dinamicamente
com base na largura definida pelo editor, permitindo
GAMBannerView
,
para ajustar sua altura a fim de que ela corresponda à do criativo.
Solicitação fluida
Diferentemente de outros formatos de anúncio, o tamanho kGADAdSizeFluid
não tem
uma largura predefinida. Portanto, certifique-se de definir explicitamente o frame do banner
largura de banda do seu código ou no Interface Builder. Se uma largura não for especificada,
o SDK, por padrão, define a altura do banner com base no tamanho
largura do dispositivo.
Se você fizer uma solicitação para vários tamanhos que inclua kGADAdSizeFluid
,
o anúncio retornado seja 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 na
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 criar um tamanho único e um fluido para vários tamanhos
é muito semelhante. a única diferença é que um modelo com vários
solicitação, defina a propriedade validAdSizes
para especificar
tamanhos válidos para a solicitação de anúncio:
Swift
bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
NSValueFromGADAdSize(kGADAdSizeBanner)]
Objective-C
_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
NSValueFromGADAdSize(kGADAdSizeBanner) ];
Confira como fica a implementação completa 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 em 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
a visualização do banner muda para o novo GADAdSize
. Para receber uma notificação antes de
a visualização do banner mudar para o novo tamanho do anúncio, sua classe deverá estar em conformidade com
usando o protocolo GADAdSizeDelegate
.
Confira um exemplo de implementação do adView:willChangeAdSizeTo:
que mostra como conseguir a largura e a altura novas 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;
}