Ön koşullar
Bu uygulama kılavuzunda aşağıdakiler hakkında bilgi sahibi olduğunuz varsayılmaktadır:
- iOS uygulaması geliştirme.
- Google Mobile Ads SDK'sını bir iOS projesiyle ilişkilendirme SDK'nın en son sürümünü indirin.
Genel bakış
Bu dokümanda, Mobil Uygulamalar için AFS (AFSMA) reklamlarını iOS mobil uygulamanıza entegre etme süreci açıklanmaktadır. AFSMA reklamları bazen dinamik yükseklik arama reklamları olarak da adlandırılır. iOS'te AFSMA reklamları istemek ve oluşturmak için aşağıdakileri uygulamanız gerekir:
- Bu sınıf, iOS UIView sınıfından devralır ve AFSMA reklamlarını gösterir.
GADSearchBannerView
,GADDynamicHeightSearchRequest
içeren bir reklam isteğinde bulunur ve döndürülen reklamları oluşturur.GADSearchBannerView
, uygulamanın mevcut görünümlerinden herhangi birine eklenmelidir. GenellikleGADSearchBannerView
öğesinin eklendiği görünümü barındıran üst görünüm denetleyicisidir. Uygun yetki verilmiş kullanıcılarGADSearchBannerView
üzerinde ayarlanmalıdır. - AFSMA reklamları isteyebilmek için
GADSearchBannerView
,initWithAdSize:kGADAdSizeFluid
ile örneklenmelidir.initWithAdSize:kGADAdSizeBanner
için eski AFSMA reklamları isteği ileGADSearchBannerView
örneklendirmesi. - Bu nesnedeki
adUnitID
özelliğinin mülk kodunuza ayarlanması gerekir.
- Bu nesne, reklam isteği parametrelerini kapsüller. Bu, AFS masaüstü ve mobil web için JavaScript reklam isteği nesnelerindeki (sayfa seçenekleri, birim seçenekleri) parametreleri ayarlamaya benzer.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- Bu geri çağırma, reklam isteği döndürüldüğünde çağrılır. Döndürülen reklam birimi farklı uzantılara sahip birkaç reklam içerebileceği için reklam isteği yapıldığında reklam biriminin tam boyutu bilinmez. Reklam döndürüldükten sonra banner görünümünün, reklam biriminin yeni boyutuna uyacak şekilde güncellenmesi gerekir.
GADSearchBannerView
öğesini üst görünümünde yeniden boyutlandırma kodu buraya uygulanmalıdır.
Örnek uygulama
Aşağıdaki örnekte, UIScrollView
alt görünümü olarak GADSearchBannerView
oluşturmak için GBannerViewController
kullanılması gösterilmektedir. AFSMA reklamlarını düzgün bir şekilde istemek için GADSearchBannerView
nesnesinin initWithAdSize:kGADAdSizeFluid
ile örneklenmesi gerekir.
// 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];
}
Aynı GBannerViewController
içinde, GADSearchView
içinde oluşturulacak reklamın parametrelerini belirten bir GADDynamicHeightSearchRequest
oluşturun.
// 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"];
GADDynamicHeightSearchRequest
nesnesinde ek özellikler ayarlayarak diğer özelleştirme seçeneklerini kullanabilirsiniz.
Reklam isteği yapmak için GADSearchBannerView
nesnesinden GADDynamicHeightSearchRequest
nesnesiyle loadRequest
çağrısı yapın:
[self.searchBannerView loadRequest:searchRequest];
Üst görünümün, reklamlar geri geldiğinde GADSearchBannerView
öğesini düzgün şekilde barındırması için aşağıdaki geri çağırmanın uygulanması gerekir.
// 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.
...
}
Gelişmiş seçenekler
Reklam isteği parametrelerinin çoğu GADDynamicHeightSearchRequest
nesnesindeki (yukarıda searchRequest
) özellikler aracılığıyla ayarlanabilir. Diğer parametrelerin de setAdvancedOptionValue
yöntemi ile anahtar/değer çiftleri kullanılarak ayarlanması gerekir:
// 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"];
Kullanılabilir parametrelerin tam listesine bakın.
Hataları araştırma
GADBannerViewDelegate
, hataları araştırmanıza yardımcı olmak için bir geri çağırma içerir:
- (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"]);
}
Bir reklam isteği başarısız olursa, hatayı düzgün şekilde işlemek ve hata nesnesini inceleyerek hatayı incelemek için bu geri çağırmayı kullanabilirsiniz.