L'SDK Google Mobile Ads supporta anche gli stili di ricerca personalizzati. Se la tua app utilizza già l'SDK Google Mobile Ads, ti consigliamo di utilizzare invece la versione dell'SDK AFSMA.
Prerequisiti
- Usa Xcode 8.0 o versioni successive
- Scegli come target iOS 8.0 o versioni successive
- Un codice proprietà web del publisher valido (ad es. vert-ppa-test1-srp)
- CocoaPods
Importa l'SDK nativo AFS
CocoaPods
Importa l'SDK nativo di Google-AFS in un progetto iOS utilizzando CocoaPods. Apri il podfile del progetto e aggiungi questa riga alla destinazione dell'app:
pod 'Google-AFSNative'
Quindi dalla riga di comando esegui:
pod install --repo-update
Se non hai mai utilizzato CocoaPods, consulta la documentazione ufficiale per informazioni su come creare e utilizzare i podfile.
Panoramica
Se esegui l'upgrade alla versione 4.0 o successiva dalla 2.0.8 o versioni precedenti, consulta la nostra guida alla migrazione.
Questo documento descrive la procedura per integrare gli annunci nativi AFS nella tua app mobile iOS.
- È necessario fornire al costruttore
GANSearchAdController
il codice proprietà web del publisher, l'ID impostazioni desiderato e l'oggettoGANSearchAdControllerOptions
associato. - Ogni chiamata a
loadAds()
indica una nuova ricerca e l'insieme di annunci corrente verrà annullato e invalidato. - Le creatività degli annunci sono memorizzate in
GANAdView
. - Gli annunci vengono inseriti nell'annuncio
GANAdView
con il metodopopulateAdView
. Oltre alGANAdView
che deve essere compilato, il chiamante fornisce unadIdentifier
, ovvero una stringa arbitraria che deve identificare in modo univoco l'annuncio. All'interno dell'API, a ogni adIdentifier viene assegnato un annuncio specifico. Quindi, ogni volta che l'adKey viene passato di nuovo in futuro, lo stesso annuncio verrà restituito. Ad esempio, sepopulateAdView
viene chiamato per la prima volta con adIdentifier "keyA", ogni chiamata successiva apopulateAdView
mentre si trasmette "keyA" comeadIdentifier
comporta la visualizzazione dello stesso annuncio.
- Si tratta della visualizzazione UI che contiene la creatività annuncio.
- Completa questa visualizzazione con un annuncio utilizzando il metodo
populateAdView
nellaGANSearchAdController
.
- Passa questo oggetto al costruttore
GANSearchAdController
per specificare il comportamento della richiesta e della visualizzazione degli annunci.
- Chiama il metodo
loadAds
nell'istanzaGANSearchAdController
con questo oggetto per effettuare una richiesta di annuncio.
- Implementa questa interfaccia e forniscila a
GANSearchAdController
per registrare i callback per diversi stati.
Esempio di implementazione
L'esempio riportato di seguito illustra la creazione di un GANSearchAdController
e un GANView
per mostrare un annuncio in un ViewController
di esempio.
// 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"];
}
}
...