Ön koşullar
Bu uygulama kılavuzunda aşağıdaki öğelere aşina olduğunuz varsayılır:
- iOS uygulaması geliştirme.
- Google Mobile Ads SDK'sı bir iOS projesiyle ilişkilendiriliyor. SDK'nın son sürümünü indirin.
Genel bakış
Bu dokümanda, Mobil Uygulamalarda AFS (AFSMA) reklamlarını iOS mobil uygulamanıza entegre etme işlemi özetlenmektedir. AFSMA reklamları bazen dinamik yükseklikte 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ınır ve AFSMA reklamlarını görüntüler.
GADSearchBannerView
,GADDynamicHeightSearchRequest
içeren bir reklam isteğinde bulunur ve döndürülen reklamları oluşturur.GADSearchBannerView
, uygulamanın mevcut görünümlerine eklenmelidir. GenellikleGADSearchBannerView
ürününün eklendiği görünümü barındıran üst görünüm denetleyicisidir. Uygun yetkilerGADSearchBannerView
üzerinde ayarlanmalıdır. - AFSMA reklamı istemek için
GADSearchBannerView
,initWithAdSize:kGADAdSizeFluid
ile örneklenmelidir.initWithAdSize:kGADAdSizeBanner
ileGADSearchBannerView
örnekleniyor, eski AFSMA reklamları istiyor. - Bu nesnedeki
adUnitID
özelliğinin mülk kodunuza ayarlanması gerekir.
- Bu nesne, reklam isteği parametrelerini içerir. 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üğünde çağrılır. Döndürülen reklam birimi, farklı uzantılara sahip bir dizi reklam içerebileceğinden, reklam isteği yapıldığında reklam biriminin tam boyutu bilinmiyor. Reklam döndürüldükten sonra banner görünümünün reklam biriminin yeni
boyutunu karşılayacak şekilde güncellenmesi gerekir. Üst görünümünde
GADSearchBannerView
boyutunu yeniden boyutlandırmak için kullanılacak kod burada uygulanmalıdır.
Örnek uygulama
Aşağıdaki örnekte, UIScrollView
öğesinin alt görünümü olarak GADSearchBannerView
oluşturmak için GBannerViewController
kullanıldığı gösterilmektedir. AFSMA reklamlarının doğru şekilde istenmesi 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 parametrelerini dikte eden 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ğinde bulunmak için GADSearchBannerView
nesnesinden GADDynamicHeightSearchRequest
nesnesiyle loadRequest
yöntemini çağırın:
[self.searchBannerView loadRequest:searchRequest];
Üst görünümün, reklamlar döndürüldükten sonra GADSearchBannerView
adını doğru şekilde barındırması için aşağıdaki geri çağırma uygulanmalıdır.
// 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 özellikler (yukarıda searchRequest
) aracılığıyla ayarlanabilir. Diğer parametrelerin setAdvancedOptionValue
yöntemiyle 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ı inceleme
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ı doğru bir şekilde işlemek ve hata nesnesi aracılığıyla hatayı incelemek için bu geri çağırmayı kullanabilirsiniz.