Voraussetzungen
In diesem Implementierungsleitfaden wird davon ausgegangen, dass Sie mit Folgendem vertraut sind:
- Entwicklung von iOS-Apps
- Google Mobile Ads SDK mit einem iOS-Projekt verknüpfen Laden Sie die neueste Version des SDK herunter.
Übersicht
In diesem Dokument wird beschrieben, wie Sie AFSMA-Anzeigen (AFSMA) in Ihre mobile iOS-App einbinden. AFSMA-Anzeigen werden manchmal auch als dynamische Suchanzeigen für die Höhe bezeichnet. Um AFSMA-Anzeigen unter iOS anzufordern und zu rendern, müssen Sie Folgendes implementieren:
- Diese Klasse übernimmt die Klasse „iOSView“ und zeigt die AFSMA-Anzeigen an.
GADSearchBannerView
sendet eine Anzeigenanfrage anGADDynamicHeightSearchRequest
und gibt die zurückgegebenen Anzeigen wieder. DieGADSearchBannerView
sollte zu einer der vorhandenen Ansichten der Anwendung hinzugefügt werden. Normalerweise ist es der übergeordnete Ansicht-Controller, der die Ansicht enthält, der dieGADSearchBannerView
hinzugefügt wird. Die entsprechenden Bevollmächtigten sollten fürGADSearchBannerView
festgelegt werden. GADSearchBannerView
muss mitinitWithAdSize:kGADAdSizeFluid
instanziiert werden, um AFSMA-Anzeigen anzufordern. Die Instanziierung vonGADSearchBannerView
mitinitWithAdSize:kGADAdSizeBanner
fordert Legacy-AFSMA-Anzeigen an.- Für die
adUnitID
-Property dieses Objekts muss der Property-Code festgelegt werden.
- Dieses Objekt kapselt die Anzeigenanfrageparameter. Die Vorgehensweise ist analog zum Festlegen der Parameter in den JavaScript-Anzeigenanfrageobjekten (Seitenoptionen, Anzeigenblockoptionen) für Computer und das mobile Web in AFS.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- Dieser Callback wird aufgerufen, wenn die Anzeigenanfrage zurückgegeben wird. Da der zurückgegebene Anzeigenblock eine Reihe von Anzeigen mit unterschiedlichen Erweiterungen enthalten kann, ist die genaue Größe des Anzeigenblocks bei der Anzeigenanfrage nicht bekannt. Sobald die Anzeige zurückgegeben wird, muss die Banneransicht aktualisiert werden, um der neuen Größe des Anzeigenblocks gerecht zu werden. Hier sollte Code zum Anpassen der Größe von
GADSearchBannerView
in der übergeordneten Ansicht implementiert werden.
Beispielimplementierung
Das folgende Beispiel zeigt, wie ein GBannerViewController
verwendet wird, um eine GADSearchBannerView
als Unteransicht einer UIScrollView
zu erstellen. Damit AFSMA-Anzeigen korrekt angefordert werden, muss das GADSearchBannerView
-Objekt mit initWithAdSize:kGADAdSizeFluid
instanziiert werden.
// 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];
}
Erstellen Sie innerhalb desselben GBannerViewController
eine GADDynamicHeightSearchRequest
, die die Parameter der Anzeige festlegt, die im GADSearchView
gerendert werden.
// 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"];
Weitere Anpassungsoptionen sind möglich, wenn Sie zusätzliche Attribute für das Objekt GADDynamicHeightSearchRequest
festlegen.
Wenn Sie eine Anzeigenanfrage stellen möchten, rufen Sie loadRequest
mit dem Objekt GADDynamicHeightSearchRequest
aus dem Objekt GADSearchBannerView
auf:
[self.searchBannerView loadRequest:searchRequest];
Damit die übergeordnete Ansicht die GADSearchBannerView
ordnungsgemäß unterstützt, sobald die Anzeigen zurückgegeben werden, muss der folgende Callback implementiert werden.
// 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.
...
}
Erweiterte Optionen
Die meisten Parameter für Anzeigenanfragen können über Properties des GADDynamicHeightSearchRequest
-Objekts (searchRequest
) festgelegt werden. Andere Parameter müssen mithilfe von Schlüssel/Wert-Paaren mit der Methode setAdvancedOptionValue
festgelegt werden:
// 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"];
Vollständige Liste der verfügbaren Parameter
Fehler untersuchen
GADBannerViewDelegate
enthält einen Callback, mit dem Sie Fehler untersuchen können:
- (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"]);
}
Wenn eine Anzeigenanfrage fehlschlägt, können Sie diesen Callback verwenden, um den Fehler ordnungsgemäß zu bearbeiten und den Fehler mithilfe des Fehlerobjekts zu untersuchen.