Das Google Mobile Ads SDK unterstützt auch benutzerdefinierte Designs. Wenn in Ihrer App bereits das Google Mobile Ads SDK verwendet wird, empfehlen wir stattdessen die Verwendung der AFSMA SDK-Version.
Voraussetzungen
- Verwenden Sie Xcode 8.0 oder höher.
- Ausrichtung auf iOS 8.0 oder höher
- Gültiger Web-Property-Code des Publishers (z.B. vert-ppa-test1-srp)
- CocoaPods
AFS Native SDK importieren
CocoaPods
Importieren Sie das Google-AFSNative SDK mithilfe von CocoaPods in ein iOS-Projekt. Öffnen Sie die Podfile-Datei Ihres Projekts und fügen Sie dem Ziel Ihrer Anwendung diese Zeile hinzu:
pod 'Google-AFSNative'
Führen Sie dann in der Befehlszeile folgenden Befehl aus:
pod install --repo-update
Wenn Sie CocoaPods noch nicht kennen, finden Sie in der offiziellen Dokumentation Informationen zum Erstellen und Verwenden von Podfiles.
Überblick
Wenn Sie ein Upgrade auf Version 4.0 oder höher von 2.0.8 oder niedriger ausführen, lesen Sie unsere Migrationsanleitung.
In diesem Dokument wird beschrieben, wie Sie native AFS-Anzeigen in Ihre mobile iOS-App einbinden.
- Der
GANSearchAdController
-Konstruktor muss den Web-Property-Code des Publishers, die gewünschte Einstellungs-ID und das zugehörigeGANSearchAdControllerOptions
-Objekt angeben. - Jeder Aufruf von
loadAds()
gibt eine neue Suche an, durch die der aktuelle Satz von Anzeigen verworfen und ungültig gemacht wird. - Anzeigen-Creatives werden in
GANAdView
gespeichert. - Anzeigen werden mit der Methode
populateAdView
in die AnzeigeGANAdView
eingefügt. Zusätzlich zum auszufüllendenGANAdView
gibt der Aufrufer eineadIdentifier
an. Dabei handelt es sich um einen beliebigen String, der die Anzeige eindeutig identifizieren soll. Innerhalb der API wird jedem übergebenen adIdentifier eine spezifische Anzeige zugewiesen. Bei jeder erneuten Übergabe dieses Schlüssels wird dieselbe Anzeige zurückgegeben. Wenn beispielsweisepopulateAdView
zum ersten Mal mit adIdentifier „keyA“ aufgerufen wird, führt jeder nachfolgende Aufruf vonpopulateAdView
und die Übergabe von „keyA“ alsadIdentifier
dazu, dass dieselbe Anzeige ausgeliefert wird.
- Dies ist die UIView, die das Anzeigen-Creative enthält.
- Füllen Sie diese Ansicht mithilfe der Methode
populateAdView
imGANSearchAdController
mit einer Anzeige.
- Übergeben Sie dieses Objekt an den Konstruktor
GANSearchAdController
, um festzulegen, wie Anzeigen angefordert und ausgeliefert werden.
- Rufen Sie mit diesem Objekt die Methode
loadAds
für die InstanzGANSearchAdController
auf, um eine Anzeigenanfrage zu senden.
- Implementieren Sie diese Schnittstelle und stellen Sie sie dem
GANSearchAdController
zur Verfügung, um Callbacks für verschiedene Status zu registrieren.
Implementierungsbeispiel
Im folgenden Beispiel sehen Sie, wie GANSearchAdController
und GANView
erstellt werden, um eine Anzeige in einer Beispiel-ViewController
auszuliefern.
// 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"];
}
}
...