Geçiş reklamları, kullanıcı kapatana kadar bir uygulamanın arayüzünü kaplayan tam ekran reklamlardır. Bunlar genellikle bir uygulamanın akışındaki doğal geçiş noktalarında (ör. etkinlikler veya bir oyundaki seviyeler arasındaki duraklama sırasında) gösterilir. Bir uygulama geçiş reklamı gösterdiğinde kullanıcı reklama dokunup hedefine devam etme veya reklamı kapatıp uygulamaya geri dönme seçeneğine sahiptir. Örnek olay.
Bu kılavuzda, geçiş reklamlarının bir iOS uygulamasına nasıl entegre edileceği gösterilmektedir.
Ön koşullar
- Google Mobile Ads SDK'sı 8.0.0 veya üzeri.
- Başlangıç kılavuzunu tamamlayın.
Her zaman test reklamlarıyla test etme
Uygulamalarınızı oluştururken ve test ederken canlı, üretim reklamları yerine test reklamlarını kullandığınızdan emin olun. Bunu yapmazsanız hesabınız askıya alınabilir.
Test reklamlarını yüklemenin en kolay yolu, iOS geçiş reklamları için özel test reklam birimi kimliğimizi kullanmaktır:
ca-app-pub-3940256099942544/4411468910
Bu kod, her istek için test reklamları döndürecek şekilde özel olarak yapılandırılmıştır. Bu etiketi; kodlama, test ve hata ayıklama sırasında kendi uygulamalarınızda da kullanabilirsiniz. Uygulamanızı yayınlamadan önce bu kimliği kendi reklam birimi kimliğinizle değiştirdiğinizden emin olun.
Mobile Ads SDK'sının test reklamlarının nasıl çalıştığı hakkında daha fazla bilgi için Test Reklamları bölümüne bakın.
Uygulama
Geçiş reklamlarını entegre etmenin ana adımları şunlardır:
- Reklam yükleyin.
- Geri aramalar için kaydolun.
- Reklamı göstermek ve ödül etkinliğini yönetmek.
Reklam yükle
Reklam yükleme işlemi, GADInterstitialAd
sınıfındaki statik loadWithAdUnitID:request:completionHandler:
yöntemi kullanılarak gerçekleştirilir. Yükleme yöntemi için reklam birimi kimliğiniz, bir GADRequest
nesnesi ve reklam yükleme başarılı veya başarısız olduğunda çağrılan bir tamamlama işleyicisi gerekir. Yüklenen GADInterstitialAd
nesnesi, tamamlama işleyicide parametre olarak sağlanır. Aşağıdaki örnekte, ViewController
sınıfınıza nasıl GADInterstitialAd
yükleyeceğiniz gösterilmektedir.
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController { private var interstitial: GADInterstitialAd? override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADInterstitialAd.load(withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request, completionHandler: { [self] ad, error in if let error = error { print("Failed to load interstitial ad with error: \(error.localizedDescription)") return } interstitial = ad } ) } }
Objective-C
@import GoogleMobileAds; @import UIKit; @interface ViewController () @property(nonatomic, strong) GADInterstitialAd *interstitial; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADRequest *request = [GADRequest request]; [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { if (error) { NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]); return; } self.interstitial = ad; }]; }
Geri arama için kaydol
Sunum etkinlikleriyle ilgili bildirimleri almak için GADFullScreenContentDelegate
protokolünü uygulamalı ve döndürülen reklamın fullScreenContentDelegate
özelliğine atamanız gerekir. GADFullScreenContentDelegate
protokolü, reklam başarılı veya başarısız bir şekilde sunulduğunda ve kapatıldığında geri çağırmaları işler. Aşağıdaki kod, protokolün nasıl uygulanacağını ve reklama nasıl atanacağını gösterir:
Swift
class ViewController: UIViewController, GADFullScreenContentDelegate { private var interstitial: GADInterstitialAd? override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADInterstitialAd.load(withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request, completionHandler: { [self] ad, error in if let error = error { print("Failed to load interstitial ad with error: \(error.localizedDescription)") return } interstitial = ad interstitial?.fullScreenContentDelegate = self } ) } /// Tells the delegate that the ad failed to present full screen content. func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { print("Ad did fail to present full screen content.") } /// Tells the delegate that the ad will present full screen content. func adWillPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Ad will present full screen content.") } /// Tells the delegate that the ad dismissed full screen content. func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Ad did dismiss full screen content.") } }
Objective-C
@interface ViewController ()<GADFullScreenContentDelegate> @property(nonatomic, strong) GADInterstitialAd *interstitial; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADRequest *request = [GADRequest request]; [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { if (error) { NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]); return; } self.interstitial = ad; self.interstitial.fullScreenContentDelegate = self; }]; } /// Tells the delegate that the ad failed to present full screen content. - (void)ad:(nonnull id<GADFullScreenPresentingAd>)ad didFailToPresentFullScreenContentWithError:(nonnull NSError *)error { NSLog(@"Ad did fail to present full screen content."); } /// Tells the delegate that the ad will present full screen content. - (void)adWillPresentFullScreenContent:(nonnull id<GADFullScreenPresentingAd>)ad { NSLog(@"Ad will present full screen content."); } /// Tells the delegate that the ad dismissed full screen content. - (void)adDidDismissFullScreenContent:(nonnull id<GADFullScreenPresentingAd>)ad { NSLog(@"Ad did dismiss full screen content."); }
GADInterstitialAd
tek kullanımlık bir nesnedir. Bu, bir geçiş reklamının gösterilmesinin ardından tekrar gösterilemeyeceği anlamına gelir. En iyi uygulama, GADFullScreenContentDelegate
üzerinde adDidDismissFullScreenContent:
yönteminden başka bir geçiş reklamı yüklemektir. Böylece, bir sonraki geçiş reklamı kapatılır kapatılmaz yüklenmeye başlar.
Reklamı görüntüleme
Geçiş reklamları, uygulama akışındaki doğal duraklamalar sırasında gösterilmelidir.
Oyunun seviyeleri arasında veya kullanıcı bir görevi tamamladıktan sonra.
Bunu UIViewController
işlemindeki işlem yöntemlerinden birini kullanarak nasıl yapacağınıza dair bir örneği aşağıda bulabilirsiniz:
Swift
@IBAction func doSomething(_ sender: Any) { if interstitial != nil { interstitial.present(fromRootViewController: self) } else { print("Ad wasn't ready") } }
Objective-C
- (IBAction)doSomething:(id)sender { ... if (self.interstitial) { [self.interstitial presentFromRootViewController:self]; } else { NSLog(@"Ad wasn't ready"); } }
En iyi uygulamalar
- Geçiş reklamlarının uygulamanız için doğru reklam türü olup olmadığını düşünün.
- Geçiş reklamları, doğal geçiş noktalarına sahip olan uygulamalarda en iyi performansı gösterir. Uygulama içinde bir görev tamamlamak (ör. resim paylaşmak veya oyundaki bir seviyeyi tamamlamak) böyle bir nokta oluşturur. Kullanıcı işlemi ara vermek istediği için, kullanıcının deneyimini kesintiye uğratmadan geçiş reklamı sunmak kolaydır. Uygulamanızın iş akışının hangi noktalarında geçiş reklamları göstereceğinizi ve kullanıcının nasıl yanıt verebileceğini göz önünde bulundurduğunuzdan emin olun.
- Bir geçiş reklamı görüntülerken işlemi duraklatmayı unutmayın.
- Metin, resim, video ve diğer birçok farklı türde geçiş reklamı bulunur. Uygulamanız bir geçiş reklamı görüntülediğinde, reklamın bunlardan yararlanabilmesi için bazı kaynakların kullanımını da askıya almalıdır. Örneğin, geçiş reklamı gösterme çağrısı yaptığınızda, uygulamanız tarafından üretilen tüm ses çıkışlarını duraklattığınızdan emin olun. Sesleri
adDidDismissFullScreenContent:
etkinlik işleyicide devam ettirebilirsiniz. Kullanıcı reklamla etkileşimi bitirdiğinde çağrılacaktır. Ayrıca, reklam görüntülenirken yoğun hesaplama görevlerini (oyun döngüsü gibi) geçici olarak durdurabilirsiniz. Bu, kullanıcının yavaş veya yanıt vermeyen grafikler ya da takılma sorunu yaşamasını önler. - Yeterli yükleme süresi tanıyın.
- Geçiş reklamlarını uygun zamanda gösterdiğinizden emin olmak kadar kullanıcının bu reklamların yüklenmesini beklemek zorunda kalmamasını sağlamak da önemlidir. Reklamı göstermeyi gerçekleştirmeden önce yüklemek, gösterilme zamanı geldiğinde uygulamanızın tam olarak yüklenmiş bir geçiş reklamının olmasını sağlar.
- Kullanıcıyı reklama boğmayın.
- Uygulamanızda geçiş reklamlarının sıklığını artırmak geliri artırmanın iyi bir yolu gibi görünse de kullanıcı deneyimini olumsuz yönde etkileyebilir ve tıklama oranlarını düşürebilir. Kullanıcıların uygulamanızı kullanımından keyif almalarına engel olacak kadar sık kesinti yaşamadığından emin olun.
- Geçiş reklamını göstermek için yükleme tamamlama geri çağırmasını kullanmayın.
- Bu durum, kötü bir kullanıcı deneyimine neden olabilir. Bunun yerine, reklamı göstermeniz
gerekmeden önce önceden yükleyin. Ardından, gösterilmeye hazır olup olmadığını öğrenmek için
GADInterstitialAd
üzerindecanPresentFromRootViewController:error:
yöntemini kontrol edin.
Ek kaynaklar
GitHub ile ilgili örnekler
Mobil Reklamlar Garajı video eğiticileri
Başarı öyküleri
Sonraki adımlar
- Henüz yapmadıysanız AdMob kullanıcı arayüzünde kendi geçiş reklam biriminizi oluşturun.
- Reklam hedefleme ve geçiş reklamı yönergeleri hakkında daha fazla bilgi edinin. *. Kullanıcı gizliliği hakkında daha fazla bilgi edinin.