Conditions préalables
Ce guide d'implémentation part du principe que vous connaissez les éléments suivants:
- Développement d'applications iOS
- Associer le SDK Google Mobile Ads à un projet iOS Téléchargez la dernière version du SDK.
Présentation
Ce document décrit le processus d'intégration des annonces AFS pour les applications mobiles (AFSMA) dans votre application mobile iOS. Les annonces AFSMA sont également parfois appelées "annonces AFSMA (hauteur) sur le Réseau de Recherche". Pour demander et afficher des annonces AFSMA sur iOS, vous devez implémenter les éléments suivants:
- Cette classe hérite de la classe iOS UIView et affiche les annonces AFSMA.
GADSearchBannerView
envoie une demande d'annonce avec unGADDynamicHeightSearchRequest
et affiche les annonces renvoyées. L'GADSearchBannerView
doit être ajoutée à n'importe quelle vue existante de l'application. Il s'agit généralement du contrôleur de vue parent qui contient la vue à laquelle l'GADSearchBannerView
est ajoutée. Les délégués appropriés doivent être définis surGADSearchBannerView
. - Le
GADSearchBannerView
doit être instancié avecinitWithAdSize:kGADAdSizeFluid
pour demander des annonces AFSMA. L'instanciation deGADSearchBannerView
avecinitWithAdSize:kGADAdSizeBanner
demande les anciennes annonces AFSMA. - La propriété
adUnitID
de cet objet doit être définie sur le code de votre propriété.
- Cet objet encapsule les paramètres de demande d'annonce. Cette méthode revient à définir des paramètres dans les objets de demande d'annonce JavaScript (options de page, options de bloc) pour le Web mobile et pour ordinateur d'AFS.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- Ce rappel est appelé lorsque la demande d'annonce est renvoyée. Étant donné que le bloc d'annonces affiché peut contenir plusieurs annonces avec différentes extensions, la taille exacte du bloc d'annonces n'est pas connue au moment de la demande d'annonce. Une fois l'annonce renvoyée, l'affichage de la bannière doit être mis à jour pour s'adapter à la nouvelle taille du bloc d'annonces. Le code permettant de redimensionner
GADSearchBannerView
dans sa vue parent doit être implémenté ici.
Exemple d'implémentation
L'exemple ci-dessous montre comment utiliser un GBannerViewController
pour créer un GADSearchBannerView
en tant que sous-vue d'un UIScrollView
. Pour demander correctement des annonces AFSMA, l'objet GADSearchBannerView
doit être instancié avec 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];
}
Dans le même GBannerViewController
, créez un GADDynamicHeightSearchRequest
qui détermine les paramètres de l'annonce qui sera affichée dans 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"];
Vous pouvez accéder à d'autres options de personnalisation en définissant des propriétés supplémentaires sur l'objet GADDynamicHeightSearchRequest
.
Pour effectuer une demande d'annonce, appelez loadRequest
avec l'objet GADDynamicHeightSearchRequest
de l'objet GADSearchBannerView
:
[self.searchBannerView loadRequest:searchRequest];
Pour que la vue parent s'adapte correctement à GADSearchBannerView
une fois les annonces renvoyées, le rappel suivant doit être implémenté.
// 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.
...
}
Options avancées
La plupart des paramètres de demande d'annonce peuvent être définis via les propriétés de l'objet GADDynamicHeightSearchRequest
(searchRequest
ci-dessus). D'autres paramètres devront être définis à l'aide de paires clé/valeur avec la méthode 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"];
Consultez la liste complète des paramètres disponibles.
Examiner les erreurs
GADBannerViewDelegate
contient un rappel pour vous aider à examiner les erreurs:
- (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"]);
}
Si une demande d'annonce échoue, vous pouvez utiliser ce rappel pour gérer correctement l'erreur et l'examiner via l'objet d'erreur.