Prerequisiti
Questa guida all'implementazione presuppone la conoscenza di quanto segue:
- Sviluppo di app per iOS.
- Associare l'SDK Google Mobile Ads a un progetto iOS. Scarica la versione più recente dell'SDK.
Panoramica
Questo documento illustra la procedura per integrare gli annunci AFSMA (AFSMA) nella tua app mobile iOS. Gli annunci AFSMA sono a volte denominati annunci AFSMA dinamici della rete di ricerca. Per richiedere e visualizzare gli annunci AFSMA su iOS, devi implementare quanto segue:
- Questa classe eredita dalla classe UIView di iOS e visualizza gli annunci AFSMA. L'
GADSearchBannerView
invia la richiesta di un annuncio conGADDynamicHeightSearchRequest
e visualizza gli annunci restituiti. L'elementoGADSearchBannerView
deve essere aggiunto a qualsiasi vista esistente dell'app. In genere è il controller di visualizzazione principale che contiene la vista a cui viene aggiunto l'elementoGADSearchBannerView
. I delegati appropriati devono essere impostati suGADSearchBannerView
. - Per richiedere gli annunci AFSMA, è necessario creare un'istanza
GADSearchBannerView
coninitWithAdSize:kGADAdSizeFluid
. La creazione di un'istanza diGADSearchBannerView
coninitWithAdSize:kGADAdSizeBanner
richiede annunci AFSMA precedenti. - La proprietà
adUnitID
di questo oggetto deve essere impostata sul tuo codice proprietà.
- Questo oggetto incapsula i parametri della richiesta di annuncio. Questa operazione è analoga all'impostazione dei parametri negli oggetti richiesta di annuncio JavaScript (opzioni di pagina, opzioni di unità) per AFS per desktop e web mobile.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- Questo callback viene chiamato quando viene restituita la richiesta di annuncio. Poiché l'unità pubblicitaria restituita potrebbe contenere diversi annunci con estensioni diverse, le dimensioni esatte dell'unità pubblicitaria non sono note quando viene effettuata la richiesta di annuncio. Una volta restituito l'annuncio, la visualizzazione del banner deve essere aggiornata per adattarsi alla nuova dimensione dell'unità pubblicitaria. Il codice per ridimensionare
GADSearchBannerView
nella vista principale deve essere implementato qui.
Esempio di implementazione
L'esempio seguente mostra l'utilizzo di un GBannerViewController
per creare una GADSearchBannerView
come visualizzazione secondaria di UIScrollView
. Per richiedere correttamente gli annunci AFSMA, è necessario creare un'istanza dell'oggetto GADSearchBannerView
con
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];
}
All'interno dello stesso GBannerViewController
, crea un GADDynamicHeightSearchRequest
che determina i parametri dell'annuncio che verrà visualizzato nella 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"];
Sono possibili altre opzioni di personalizzazione impostando proprietà aggiuntive sull'oggetto GADDynamicHeightSearchRequest
.
Per effettuare una richiesta di annuncio, chiama loadRequest
con l'oggetto GADDynamicHeightSearchRequest
dall'oggetto GADSearchBannerView
:
[self.searchBannerView loadRequest:searchRequest];
Affinché la vista principale accetti correttamente GADSearchBannerView
una volta restituiti gli annunci, deve essere implementato il seguente callback.
// 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.
...
}
Opzioni avanzate
La maggior parte dei parametri delle richieste di annuncio può essere impostata tramite le proprietà nell'oggetto GADDynamicHeightSearchRequest
(searchRequest
sopra). Altri parametri dovranno essere impostati utilizzando coppie chiave-valore con il metodo 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"];
Consulta l'elenco completo dei parametri disponibili.
Analisi degli errori
Il GADBannerViewDelegate
contiene un callback per aiutarti a esaminare gli errori:
- (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 una richiesta di annuncio non va a buon fine, puoi utilizzare questo callback per gestire correttamente l'errore e analizzarlo tramite l'oggetto Errore.