Pré-requisitos
Para seguir este guia de implementação, é necessário ter familiaridade com:
- Desenvolvimento de apps iOS.
- Associar o SDK dos anúncios para dispositivos móveis do Google a um projeto iOS. Faça o download da versão mais recente do SDK.
Visão geral
Este documento descreve o processo de integração de anúncios do AFS em apps para dispositivos móveis (AFSMA) no seu app para dispositivos móveis iOS. Os anúncios do AFSMA também são chamados de dinâmicos altura. Para solicitar e renderizar anúncios do AFSMA no iOS, você precisará implemente o seguinte:
- Essa classe herda da classe UIView do iOS e exibe os anúncios do AFSMA. A
GADSearchBannerView
faz a solicitação de um anúncio com umGADDynamicHeightSearchRequest
e renderiza os anúncios retornados. AGADSearchBannerView
precisa ser adicionado a qualquer visualização existente do app. normalmente, é o controlador de visualização pai que contém a visualizaçãoGADSearchBannerView
foi adicionado. Os delegados apropriados devem ser definidos oGADSearchBannerView
. - O
GADSearchBannerView
precisa ser instanciado cominitWithAdSize:kGADAdSizeFluid
para solicitar anúncios do AFSMA. InstanciaçãoGADSearchBannerView
cominitWithAdSize:kGADAdSizeBanner
solicitações do AFSMA legado anúncios. - A propriedade
adUnitID
nesse objeto precisa ser definida como seu código de propriedade.
- Este objeto encapsula os parâmetros de solicitação de anúncio. Isso é análogo ao nos objetos de solicitação de anúncio JavaScript (opções de página, bloco para a Web para computadores e dispositivos móveis do AFS.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- Esse callback é chamado quando a solicitação de anúncio é retornada. Como o anúncio retornado
bloco de anúncios pode conter vários anúncios com extensões diferentes, o tamanho exato
do bloco de anúncios é desconhecido quando a solicitação de anúncio é feita. Assim que o anúncio for
for retornado, a visualização do banner precisará ser atualizada para acomodar o novo tamanho do
o bloco de anúncios. O código para redimensionar a
GADSearchBannerView
na visualização mãe precisa ser implementadas aqui.
Implementação de exemplo
O exemplo abaixo demonstra o uso de um GBannerViewController
para criar um
GADSearchBannerView
como uma subvisualização de um UIScrollView
. Para solicitar corretamente a AFSMA
anúncios, o objeto GADSearchBannerView
deve ser instanciado com
initWithAdSize:kGADAdSizeFluid
.
// GBannerViewController.m implementation
@interface GBannerViewController () <GADAdSizeDelegate,
GADBannerViewDelegate>
@property(nonatomic, strong) GADSearchBannerView *searchBannerView;
@property(nonatomic, strong) UIScrollView *scrollView;
@end
@implementation GBannerViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Create the scroll view.
....
....
// Create the banner.
self.searchBannerView = [[GADSearchBannerView alloc] initWithAdSize:kGADAdSizeFluid];
// Replace with your pub ID (e.g. ms-app-pub-9616389000213823).
self.searchBannerView.adUnitID = @"ms-app-pub-################";
// Set the initial location and size of the banner. The initial height
// is set to 0 since we might not get an ad back.
self.searchBannerView.frame = CGRectMake(0,
0,
CGRectGetWidth(self.view.bounds),
0);
self.searchBannerView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
// Set the delegate properties.
self.searchBannerView.adSizeDelegate = self;
self.searchBannerView.delegate = self;
// Add the new search banner into the parent scrollView.
[self.scrollView addSubview:self.searchBannerView];
}
No mesmo GBannerViewController
, crie um GADDynamicHeightSearchRequest
.
que determina os parâmetros do anúncio que serão renderizados no GADSearchView
.
// Create a search request and load the banner. GADDynamicHeightSearchRequest *searchRequest = [[GADDynamicHeightSearchRequest alloc] init]; // Ad request options (set using GADDynamicHeightSearchRequest properties). searchRequest.query = @"flowers"; searchRequest.numberOfAds = 2; // Replace with the ID of a style from your custom search styles [searchRequest setAdvancedOptionValue:@"0000000001" forKey:@"styleId"];
Outras opções de personalização
são possíveis definindo propriedades adicionais no GADDynamicHeightSearchRequest
objeto.
Para fazer uma solicitação de anúncio, chame loadRequest
com GADDynamicHeightSearchRequest
.
do objeto GADSearchBannerView
:
[self.searchBannerView loadRequest:searchRequest];
Para que a visualização mãe acomode corretamente a GADSearchBannerView
assim que o
anúncios forem retornados, será necessário implementar o callback a seguir.
// Callback to update the parent view height.
- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size {
// Update the banner view based on the ad size.
CGRect newFrame = self.searchBannerView.frame;
newFrame.size.height = size.size.height;
self.searchBannerView.frame = newFrame;
// Perform any additional logic needed due to banner view size change.
...
}
Opções avançadas
A maioria dos parâmetros de solicitação de anúncio pode ser definida por meio de propriedades na
Objeto GADDynamicHeightSearchRequest
(searchRequest
acima). Outros parâmetros
vão precisar ser definidos usando pares de chave-valor com o setAdvancedOptionValue
:
// Advanced customization options (set using key-value pair).
// Set a parameter (parameter_name) and its value (parameter_value).
[searchRequest setAdvancedOptionValue:@"parameter_value"
forKey:@"parameter_name"];
// Example: Show visible URL below description (domainLinkAboveDescription: false).
[searchRequest setAdvancedOptionValue:@"false"
forKey:@"domainLinkAboveDescription"];
Veja a lista completa de parâmetros disponíveis.
Como investigar erros
O GADBannerViewDelegate
contém um callback para ajudar você a investigar os erros:
- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error {
// This callback is triggered when the ad request fails.
// Add code here to debug the error object to discover causes of failure
NSLog(@"Ad call failed due to %@", error.userInfo[@"NSUnderlyingError"]);
}
Se uma solicitação de anúncio falhar, use esse callback para tratar o erro de maneira adequada. e investigar o erro por meio do objeto de erro.