Bu kılavuzda, iOS uygulamasına sabit uyarlanabilir banner reklam yükleme işlemi ele alınmaktadır.
Ön koşullar
Devam etmeden önce Google Mobile Ads SDK uygulamasını kurun.
Her zaman test reklamlarıyla test edin
Uygulamalarınızı oluştururken ve test ederken yayındaki, üretim aşamasındaki reklamlar yerine test reklamlarını kullandığınızdan emin olun. Bu koşula uymamanız halinde hesabınız askıya alınabilir.
Test reklamlarını yüklemenin en kolay yolu, iOS banner'ları için özel test reklam birimi kimliğimizi kullanmaktır:
ca-app-pub-3940256099942544/2435281174
Bu kimlik, her istek için test reklamları döndürecek şekilde özel olarak yapılandırılmıştır. Kodlama, test ve hata ayıklama sırasında bu kimliği kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce bu kimliği kendi reklam birimi kimliğinizle değiştirmeyi unutmayın.
Google Mobile Ads SDK test reklamlarının işleyiş şekli hakkında daha fazla bilgi için Test Reklamları başlıklı makaleyi inceleyin.
GADBannerView oluşturma
Banner reklamlar GADBannerView nesnelerinde gösterilir. Bu nedenle, banner reklamları entegre etmenin ilk adımı, görünüm hiyerarşinize bir GADBannerView eklemektir. Bu işlem genellikle programatik olarak veya Interface Builder aracılığıyla yapılır.
Programatik olarak
GADBannerView doğrudan da örneklendirilebilir.
Aşağıdaki örnekte bir GADBannerView oluşturulmaktadır:
Swift
// Initialize the banner view.
bannerView = BannerView()
bannerView.delegate = self
bannerView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(bannerView)
// This example doesn't give width or height constraints, as the ad size gives the banner an
// intrinsic content size to size the view.
NSLayoutConstraint.activate([
// Align the banner's bottom edge with the safe area's bottom edge
bannerView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor),
// Center the banner horizontally in the view
bannerView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
])
SwiftUI
BannerView kullanmak için UIViewRepresentable oluşturun:
private struct BannerViewContainer: UIViewRepresentable {
typealias UIViewType = BannerView
let adSize: AdSize
init(_ adSize: AdSize) {
self.adSize = adSize
}
func makeUIView(context: Context) -> BannerView {
let banner = BannerView(adSize: adSize)
banner.adUnitID = "ca-app-pub-3940256099942544/2435281174"
banner.load(Request())
banner.delegate = context.coordinator
return banner
}
func updateUIView(_ uiView: BannerView, context: Context) {}
func makeCoordinator() -> BannerCoordinator {
return BannerCoordinator(self)
}
UIViewRepresentable öğenizi görünüm hiyerarşisine ekleyin, height ve width değerlerini belirtin:
var body: some View {
Spacer()
// Request an anchored adaptive banner with a width of 375.
let adSize = largeAnchoredAdaptiveBanner(width: 375)
BannerViewContainer(adSize)
.frame(width: adSize.size.width, height: adSize.size.height)
}
Objective-C
// Initialize the banner view.
GADBannerView *bannerView = [[GADBannerView alloc] init];
bannerView.delegate = self;
UIView *view = self.view;
bannerView.translatesAutoresizingMaskIntoConstraints = NO;
[view addSubview:bannerView];
// This example doesn't give width or height constraints, as the ad size gives the banner an
// intrinsic content size to size the view.
[NSLayoutConstraint activateConstraints:@[
// Align the banner's bottom edge with the safe area's bottom edge
[bannerView.bottomAnchor
constraintEqualToAnchor:view.safeAreaLayoutGuide.bottomAnchor],
// Center the banner horizontally in the view
[bannerView.centerXAnchor constraintEqualToAnchor:view.centerXAnchor],
]];
self.bannerView = bannerView;
Interface Builder
Film şeridine veya xib dosyasına GADBannerView ekleyebilirsiniz. Bu yöntemi kullanırken yalnızca banner'a konum kısıtlamaları eklediğinizden emin olun. Örneğin, ekranın alt kısmında uyarlanabilir banner gösterirken banner görünümünün alt kısmını Alt Düzen Kılavuzu'nun üst kısmına eşit olacak şekilde ayarlayın ve centerX kısıtlamasını üst görünümün centerX değerine eşit olacak şekilde ayarlayın.
Reklam boyutunu ayarlama
Büyük uyarlanabilir banner'lar, kaydırılmayan düzenler için tasarlanmış daha büyük bir biçim sunar. Bu banner'lar, standart sabit uyarlanabilir banner'lara kıyasla daha yüksek bir maksimum yüksekliğe (ekran yüksekliğinin% 20'sine kadar, 50 ile 150 nokta arasında) izin verir. Bu genişletilmiş alan, video içerikler için optimize edilmiştir.
Aşağıdaki örnekte büyük sabit uyarlanabilir banner boyutu alınmaktadır:
Swift
// Request a large anchored adaptive banner with a width of 375.
bannerView.adSize = largeAnchoredAdaptiveBanner(width: 375)
Objective-C
// Request a large anchored adaptive banner with a width of 375.
self.bannerView.adSize = GADLargeAnchoredAdaptiveBannerAdSizeWithWidth(375);
Cihaz ekranı boyutundan küçük veya ona eşit bir reklam boyutu ayarlayın.
iOS 26 ve sonraki sürümlerde maksimum ekran boyutunu belirlemek için UIWindowScene.effectiveGeometry.coordinateSpace özelliğini kullanın. iOS 18 ve önceki sürümlerde UIWindowScene.coordinateSpace özelliğini kullanın.
Boyut kısıtlamaları hakkında ayrıntılı bilgi için Reklam isteği boyutu koşulları başlıklı makaleyi inceleyin.
Reklam yükleme
GADBannerView yerleştirildikten ve adUnitID gibi özellikleri yapılandırıldıktan sonra reklam yükleme zamanı gelmiştir. Bunu yapmak için bir GADRequest nesnesinde loadRequest: yöntemini çağırın:
Swift
func loadBannerAd(bannerView: BannerView) {
// Request a large anchored adaptive banner with a width of 375.
bannerView.adSize = largeAnchoredAdaptiveBanner(width: 375)
bannerView.load(Request())
}
SwiftUI
banner.adUnitID = "ca-app-pub-3940256099942544/2435281174"
banner.load(Request())
Objective-C
// Request a large anchored adaptive banner with a width of 375.
self.bannerView.adSize = GADLargeAnchoredAdaptiveBannerAdSizeWithWidth(375);
[self.bannerView loadRequest:[GADRequest request]];
GADRequest nesneleri tek bir reklam isteğini temsil eder ve hedefleme bilgileri gibi özellikler içerir.
Reklamı yenileme
Reklam biriminizi yenilenecek şekilde yapılandırdıysanız reklam yüklenemediğinde başka bir reklam istemeniz gerekmez. Google Mobile Ads SDK, AdMob kullanıcı arayüzünde belirttiğiniz yenileme hızına uyar. Yenilemeyi etkinleştirmediyseniz yeni bir istek gönderin. Yenileme hızı ayarlama gibi reklam birimi yenileme hakkında daha fazla bilgi için Banner reklamlar için otomatik yenilemeyi kullanma başlıklı makaleyi inceleyin.
Yön değişikliklerini işleme
Uygulamanızın ekran yönü değiştiğinde (ör. portrait modundan yatay moda geçildiğinde) banner'ın kullanılabilir genişliği de genellikle değişir. Yeni düzende uygun boyutta bir reklam gösterdiğinizden emin olmak için yeni bir banner isteyin. Banner genişliğiniz statikse veya düzen kısıtlamalarınız yeniden boyutlandırmayı destekliyorsa bu adımı atlayın.
Swift
override func viewWillTransition(
to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator
) {
coordinator.animate(alongsideTransition: { _ in
// Load a new ad for the new orientation.
})
}
Objective-C
- (void)viewWillTransitionToSize:(CGSize)size
withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
// Load a new ad for the new orientation.
} completion:nil];
}
Reklam etkinlikleri
GADBannerViewDelegate kullanarak reklamın kapatılması veya kullanıcının uygulamadan ayrılması gibi yaşam döngüsü olaylarını dinleyebilirsiniz.
Banner etkinliklerine kaydolma
Banner reklam etkinliklerine kaydolmak için GADBannerView üzerindeki delegate özelliğini, GADBannerViewDelegate protokolünü uygulayan bir nesneye ayarlayın. Genellikle banner reklamları uygulayan sınıf, temsilci sınıf olarak da işlev görür. Bu durumda delegate özelliği self olarak ayarlanabilir.
Swift
bannerView.delegate = self
SwiftUI
banner.delegate = context.coordinator
Objective-C
bannerView.delegate = self;
Banner etkinliklerini uygulama
GADBannerViewDelegate içindeki yöntemlerin her biri isteğe bağlı olarak işaretlenir. Bu nedenle, yalnızca istediğiniz yöntemleri uygulamanız gerekir. Bu örnekte her yöntem uygulanır
ve konsola bir mesaj kaydedilir:
Swift
func bannerViewDidReceiveAd(_ bannerView: BannerView) {
print("Banner ad loaded.")
}
func bannerView(_ bannerView: BannerView, didFailToReceiveAdWithError error: Error) {
print("Banner ad failed to load: \(error.localizedDescription)")
}
func bannerViewDidRecordImpression(_ bannerView: BannerView) {
print("Banner ad recorded an impression.")
}
func bannerViewDidRecordClick(_ bannerView: BannerView) {
print("Banner ad recorded a click.")
}
func bannerViewWillPresentScreen(_ bannerView: BannerView) {
print("Banner ad will present screen.")
}
func bannerViewWillDismissScreen(_ bannerView: BannerView) {
print("Banner ad will dismiss screen.")
}
func bannerViewDidDismissScreen(_ bannerView: BannerView) {
print("Banner ad did dismiss screen.")
}
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView {
NSLog(@"bannerViewDidReceiveAd");
}
- (void)bannerView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(NSError *)error {
NSLog(@"bannerView:didFailToReceiveAdWithError: %@", error.localizedDescription);
}
- (void)bannerViewDidRecordImpression:(GADBannerView *)bannerView {
NSLog(@"bannerViewDidRecordImpression");
}
- (void)bannerViewWillPresentScreen:(GADBannerView *)bannerView {
NSLog(@"bannerViewWillPresentScreen");
}
- (void)bannerViewWillDismissScreen:(GADBannerView *)bannerView {
NSLog(@"bannerViewWillDismissScreen");
}
- (void)bannerViewDidDismissScreen:(GADBannerView *)bannerView {
NSLog(@"bannerViewDidDismissScreen");
}
iOS API Demo uygulamasında banner temsilci yöntemlerinin uygulanması için Reklam Temsilcisi örneğine bakın.
Kullanım alanları
Bu reklam etkinliği yöntemlerinin bazı örnek kullanım alanları aşağıda verilmiştir.
Reklam alındıktan sonra görünüm hiyerarşisine banner ekleme
Görünüm hiyerarşisine GADBannerView eklemeyi reklam alınana kadar erteleyebilirsiniz. Bunu, bannerViewDidReceiveAd: etkinliğini dinleyerek yapabilirsiniz:
Swift
func bannerViewDidReceiveAd(_ bannerView: BannerView) {
// Add banner to view and add constraints.
addBannerViewToView(bannerView)
}
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView {
// Add bannerView to view and add constraints as above.
[self addBannerViewToView:self.bannerView];
}
Banner reklama animasyon ekleme
Aşağıdaki örnekte gösterildiği gibi, döndürüldükten sonra bir banner reklamı canlandırmak için bannerViewDidReceiveAd: etkinliğini de kullanabilirsiniz:
Swift
func bannerViewDidReceiveAd(_ bannerView: BannerView) {
bannerView.alpha = 0
UIView.animate(withDuration: 1, animations: {
bannerView.alpha = 1
})
}
Objective-C
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView {
bannerView.alpha = 0;
[UIView animateWithDuration:1.0 animations:^{
bannerView.alpha = 1;
}];
}
Uygulamayı duraklatma ve devam ettirme
GADBannerViewDelegate protokolünde, bir tıklama nedeniyle yer paylaşımının gösterilmesi veya kapatılması gibi etkinlikleri size bildiren yöntemler bulunur. Bu etkinliklerin reklamlardan kaynaklanıp kaynaklanmadığını izlemek istiyorsanız bu GADBannerViewDelegate yöntemlerine kaydolun.
Yalnızca reklam tıklamalarından gelenleri değil, her tür yer paylaşımlı sunumu veya harici tarayıcı çağrısını yakalamak için uygulamanızın UIViewController veya UIApplication üzerindeki eşdeğer yöntemleri dinlemesi daha iyidir. Aşağıdaki tabloda, GADBannerViewDelegate yöntemleriyle aynı anda çağrılan eşdeğer iOS yöntemleri gösterilmektedir:
| GADBannerViewDelegate yöntemi | iOS yöntemi |
|---|---|
bannerViewWillPresentScreen: |
UIViewController'ın viewWillDisappear: |
bannerViewWillDismissScreen: |
UIViewController'ın viewWillAppear: |
bannerViewDidDismissScreen: |
UIViewController'ın viewDidAppear: |
Ek kaynaklar
GitHub'daki örnekler
- Sabit uyarlanabilir banner reklam örneği: Swift | SwiftUI | Objective-C
- İleri seviye özellikler demosu: Swift | Objective-C
Sonraki adımlar
Daraltılabilir banner'lar
Daraltılabilir banner reklamlar, başlangıçta daha büyük bir yer paylaşımı olarak sunulan ve reklamı daha küçük bir boyuta daraltmak için bir düğme içeren banner reklamlardır. Performansınızı daha da optimize etmek için bu stratejiyi kullanabilirsiniz. Daha fazla bilgi için daraltılabilir banner reklamlar bölümüne bakın.
Satır içi uyarlanabilir banner'lar
Satır içi uyarlanabilir banner'lar, sabit uyarlanabilir banner'lara kıyasla daha büyük ve daha uzun banner'lardır. Yükseklikleri değişkendir ve cihaz ekranı kadar uzun olabilirler. Banner reklamları kaydırılabilir içeriğe yerleştiren uygulamalar için sabit uyarlanabilir banner reklamlar yerine satır içi uyarlanabilir banner'lar önerilir. Daha fazla bilgi için satır içi uyarlanabilir banner'lar bölümüne bakın.