O SDK dos anúncios para dispositivos móveis do Google também oferece suporte a estilos de pesquisa personalizados. Caso seu aplicativo já use o SDK dos anúncios para dispositivos móveis do Google, recomendamos que você use a versão do SDK do AFSMA.
Pré-requisitos
- Use o Xcode 8.0 ou versão mais recente
- Segmentar o iOS 8.0 ou versões mais recentes
- 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 Google-AFSNative para um projeto iOS usando o CocoaPods. Abra o Podfile do projeto e adicione esta linha ao destino do app:
pod 'Google-AFSNative'
Em seguida, na linha de comando, execute:
pod install --repo-update
Se você não conhece o CocoaPods, consulte a documentação oficial (em inglês) para informações sobre como criar e usar Podfiles.
Informações gerais
Se você estiver fazendo upgrade da versão 2.0.8 ou anterior para a versão 4.0 ou posterior, consulte nosso guia de migração.
Este documento descreve o processo para integrar anúncios nativos do AFS no seu app para dispositivos móveis iOS.
- O construtor
GANSearchAdController
precisa receber o código da propriedade da Web do editor, o ID das configurações desejadas e o objetoGANSearchAdControllerOptions
associado. - Cada chamada para
loadAds()
indica uma nova pesquisa e faz com que o conjunto atual de anúncios seja descartado e invalidado. - Os criativos dos anúncios são armazenados em
GANAdView
. - Os anúncios são inseridos no anúncio
GANAdView
com o métodopopulateAdView
. Além deGANAdView
, que precisa ser preenchido, o autor da chamada fornece umadIdentifier
, que é uma string arbitrária que precisa identificar exclusivamente o anúncio. Na API, um anúncio específico é atribuído a cada adIdentifier que é transmitido. Então, sempre que essa adKey for transmitida novamente no futuro, o mesmo anúncio será retornado. Por exemplo, sepopulateAdView
for chamado pela primeira vez com o adIdentifier "keyA", cada chamada subsequente parapopulateAdView
ao transmitir "keyA" comoadIdentifier
vai resultar na exibição do mesmo anúncio.
- Essa é a UIView que contém o criativo do anúncio.
- Preencha essa visualização com um anúncio usando o método
populateAdView
naGANSearchAdController
.
- Transmita esse objeto para o construtor
GANSearchAdController
para especificar o comportamento de como os anúncios são solicitados e exibidos.
- Chame o método
loadAds
na instânciaGANSearchAdController
com esse objeto para fazer uma solicitação de anúncio.
- Implemente essa interface e a forneç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 amostra de ViewController
.
// 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"];
}
}
...