O SDK dos anúncios para dispositivos móveis do Google também é compatível com estilos de pesquisa personalizados. Se o seu app já usa o SDK dos anúncios para dispositivos móveis do Google, recomendamos que você use o Versão do SDK do AFSMA como alternativa.
Pré-requisitos
- Usar o Xcode 8.0 ou uma versão mais recente
- Segmentar o iOS 8.0 ou uma versão mais recente
- Um código de propriedade da Web do editor válido (por exemplo, vert-ppa-test1-srp)
- CocoaPods
Importar o SDK nativo do AFS
CocoaPods
Importe o SDK do Google-AFSNative para um projeto iOS usando CocoaPods (em inglês). Abra o Podfile e adicione esta linha ao destino do app:
pod 'Google-AFSNative'
Na linha de comando, execute:
pod install --repo-update
Se você ainda não conhece o CocoaPods, consulte a documentação oficial para mais informações sobre como criar e usar Podfiles.
Visão geral
Se estiver fazendo upgrade da versão 2.0.8 ou anterior para a versão 4.0, consulte as nosso guia de migração.
Este documento descreve o processo de integração dos anúncios nativos do AFS no seu app para dispositivos móveis iOS.
- O construtor
GANSearchAdController
precisa receber o o código de propriedade da Web do editor, o ID das configurações desejadas e o código objetoGANSearchAdControllerOptions
. - Cada chamada para
loadAds()
indica uma nova pesquisa e faz com que a conjunto de anúncios a ser descartado e invalidado. - Os criativos são armazenados em
GANAdView
. - Os anúncios são inseridos no anúncio
GANAdView
com o métodopopulateAdView
. Em Além doGANAdView
que será preenchido, o autor da chamada fornece umadIdentifier
, que é uma string arbitrária que identifica o anúncio de maneira exclusiva. Dentro da API, um anúncio específico é atribuído a cada adIdentifier que é passado Então, sempre que a adKey for passada novamente no futuro, o mesmo anúncio será retornados. Por exemplo, sepopulateAdView
for chamado pela primeira vez com adIdentifier "keyA", cada chamada subsequente parapopulateAdView
enquanto transmite "chaveA" porqueadIdentifier
vai resultar na exibição do mesmo anúncio.
- Esse é o UIView que contém o criativo do anúncio.
- Preencha essa visualização com um anúncio usando o método
populateAdView
noGANSearchAdController
.
- Transmita esse objeto ao construtor
GANSearchAdController
para especificar o de como os anúncios são solicitados e exibidos.
- Chame o método
loadAds
na instânciaGANSearchAdController
com este para fazer uma solicitação de anúncio.
- Implemente essa interface e forneça-a ao
GANSearchAdController
para registrar callbacks para vários estados.
Implementação de exemplo
O exemplo abaixo demonstra a criação de um GANSearchAdController
e um GANView
para mostrar um anúncio em uma ViewController
de amostra.
// SampleAppViewController.m implementation
#import <AFSNative/AFSNative.h>
@interface GBannerViewController () {
// The Ad Controller used by the sample application.
GANSearchAdController *_adController;
// The Ad View to display the loaded ad.
GANAdView *_adView;
}
// scrollView will be where we place our ads in this example.
@property(nonatomic, strong) UIScrollView *scrollView;
@end
...
- (void)viewDidLoad {
[super viewDidLoad];
// Create the scroll view.
...
[self.view addSubview:scrollView];
// Create a test button and link the ad request to its action.
UIButton *loadBannerButton = [UIButton buttonWithType:UIButtonTypeCustom];
...
[loadBannerButton addTarget:self
action:@selector(loadAd:)
forControlEvents:UIControlEventTouchUpInside];
[self.scrollView addSubview:loadBannerButton];
// Construct the Ad Controller.
GANSearchAdControllerOptions *options = [[GANSearchAdControllerOptions alloc] init];
options.prefetchEnabled = YES;
options.adType = GANSearchAdTypeSPA;
options.adFetchCount = 3;
_adController = [[GANSearchAdController alloc]
initWithPublisherID: @"your-client-id"
styleID: @"your-settings-id"
options: options
delegate: self];
_adView = [_adController adView];
[self.scrollView addSubview:_adView];
}
// Request ads when the test button is pressed.
- (void)loadAd:(id)sender {
// Construct the Ad Request.
GANSearchAdRequest *adRequest = [[GANSearchAdRequest alloc] init];
adRequest.query = @"some-query";
// Start loading ads. Note that the loading is asynchronous.
[_adController loadAds: adRequest];
}
// Insert ads into GANAdView if the request returns successfully.
- (void)searchAdController:(GANSearchAdController *)adController
didLoadAds:(NSInteger)numberOfAds {
if (numberOfAds <= 0) {
NSLog(@"No ads found on the server");
} else {
[_adController populateAdView:_adView identifier:@"demoAd"];
}
}
...