Le SDK Google Mobile Ads accepte également les styles de recherche personnalisés. Si votre application utilise déjà le SDK Google Mobile Ads, nous vous recommandons d'utiliser plutôt la version du SDK AFSMA.
Conditions préalables
- Utiliser Xcode 8.0 ou une version ultérieure
- Cibler iOS 8.0 ou version ultérieure
- Un code de propriété Web d'éditeur valide (par exemple, vert-ppa-test1-srp)
- CocoaPods
Importer le SDK natif AFS
CocoaPods
Importez le SDK Google-AFSNative dans un projet iOS à l'aide de CocoaPods. Ouvrez le Podfile de votre projet et ajoutez cette ligne à la cible de votre application:
pod 'Google-AFSNative'
Ensuite, exécutez la commande suivante dans la ligne de commande:
pod install --repo-update
Si vous ne connaissez pas CocoaPods, consultez la documentation officielle pour découvrir comment créer et utiliser des fichiers Podfiles.
Présentation
Si vous passez à la version 4.0 ou à une version ultérieure, veuillez consulter notre guide de migration.
Ce document décrit le processus à suivre pour intégrer des annonces natives APR dans votre application mobile iOS.
- Le constructeur
GANSearchAdController
doit recevoir le code de la propriété Web de l'éditeur, l'ID des paramètres souhaités et l'objetGANSearchAdControllerOptions
associé. - Chaque appel de
loadAds()
indique une nouvelle recherche, et l'ensemble d'annonces actuel est supprimé et invalidé. - Les créations sont stockées dans
GANAdView
. - Les annonces sont insérées dans l'annonce
GANAdView
à l'aide de la méthodepopulateAdView
. En plus duGANAdView
qui doit être renseigné, l'appelant fournit unadIdentifier
, qui est une chaîne arbitraire qui doit identifier de manière unique l'annonce. Dans l'API, une annonce spécifique est attribuée à chaque identifiant publicitaire transmis. Ensuite, chaque fois que cette clé d'annonce est transmise à nouveau, la même annonce est renvoyée. Par exemple, sipopulateAdView
est appelé pour la première fois avec l'identifiant "keyA", chaque appel ultérieur àpopulateAdView
en transmettant "keyA" commeadIdentifier
entraînera la diffusion de la même annonce.
- Il s'agit de l'UIView qui contient la création publicitaire.
- Remplissez cette vue avec une annonce à l'aide de la méthode
populateAdView
surGANSearchAdController
.
- Transmettez cet objet au constructeur
GANSearchAdController
pour spécifier le comportement de la manière dont les annonces sont demandées et affichées.
- Appelez la méthode
loadAds
sur l'instanceGANSearchAdController
avec cet objet pour effectuer une demande d'annonce.
- Implémentez cette interface et fournissez-la à
GANSearchAdController
pour enregistrer des rappels pour plusieurs états.
Exemple d'implémentation
L'exemple ci-dessous illustre la création d'un GANSearchAdController
et d'un GANView
pour diffuser une annonce dans un exemple 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"];
}
}
...