Geçiş reklamları, kullanıcı tarafından kapatılana kadar 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 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 dönme arasında seçim yapabilir. Ö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 sonraki sürümler.
- 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. Aksi takdirde hesabınız askıya alınabilir.
Test reklamlarını yüklemenin en kolay yolu, iOS geçiş reklamlarına özel test reklam birimi kimliğimizi kullanmaktır:
ca-app-pub-3940256099942544/4411468910
Bu kod, her istek için test reklamı döndürecek şekilde özel olarak yapılandırılmıştır. Kodlama, test etme ve hata ayıklama sırasında bu reklam öğesini kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce bu kimliği kendi reklam birimi kimliğinizle değiştirdiğinizden emin olmanız yeterlidir.
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 etmek için ana adımlar şunlardır:
- Reklam yükleyin.
- Geri çağırmalara 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 tamamlanır. 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 bir parametre olarak sağlanır. Aşağıdaki örnekte, ViewController
sınıfınızda bir GADInterstitialAd
öğesinin nasıl yükleneceği gösterilmektedir.
Swift
import GoogleMobileAds
import UIKit
class ViewController: UIViewController {
private var interstitial: GADInterstitialAd?
override func viewDidLoad() {
super.viewDidLoad()
do {
interstitial = try await GADInterstitialAd.load(
withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: GADRequest())
} catch {
print("Failed to load interstitial ad with error: \(error.localizedDescription)")
}
}
}
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 çağırmalara kaydol
Sunu etkinlikleriyle ilgili bildirim almak için GADFullScreenContentDelegate
protokolünü uygulamanız 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
import GoogleMobileAds
import UIKit
class ViewController: UIViewController, GADFullScreenContentDelegate {
private var interstitial: GADInterstitialAd?
override func viewDidLoad() {
super.viewDidLoad()
do {
interstitial = try await GADInterstitialAd.load(
withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: GADRequest())
interstitial?.fullScreenContentDelegate = self
} catch {
print("Failed to load interstitial ad with error: \(error.localizedDescription)")
}
}
/// 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
@import GoogleMobileAds;
@import UIKit;
@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, geçiş reklamının gösterildikten sonra tekrar gösterilemeyeceği anlamına gelir. En iyi uygulama, GADFullScreenContentDelegate
için adDidDismissFullScreenContent:
yöntemine başka bir geçiş reklamı yüklemektir. Böylece, sonraki geçiş reklamı bir sonraki geçiş reklamı kapatılır çıkarı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ındakiler veya kullanıcı bir görevi tamamladıktan sonra gösterilen geçiş reklamları.
Bunu UIViewController
işlemindeki işlem yöntemlerinden birini kullanarak nasıl yapacağınızı gösteren bir örneği aşağıda bulabilirsiniz:
Swift
@IBAction func doSomething(_ sender: Any) {
guard let interstitial = interstitial else {
return print("Ad wasn't ready.")
}
// The UIViewController parameter is an optional.
interstitial.present(fromRootViewController: nil)
}
Objective-C
- (IBAction)doSomething:(id)sender {
if (self.interstitial) {
// The UIViewController parameter is nullable.
[self.interstitial presentFromRootViewController:nil];
} 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 sonucu verir. 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şlemde ara beklediğinden, deneyimini kesintiye uğratmadan geçiş reklamı sunmak kolaydır. Uygulamanızın iş akışının hangi noktalarında geçiş reklamlarını görüntüleyeceğinizi ve kullanıcının ne tür tepki verebileceğini göz önünde bulundurmaya dikkat edin.
- Geçiş reklamı görüntülerken işlemi duraklatmayı unutmayın.
- Metin, resim, video ve daha birçok farklı türde geçiş reklamı bulunur. Uygulamanız geçiş reklamı görüntülediğinde bazı kaynakların kullanımını askıya alarak reklamın bunlardan yararlanabilmesini sağlar. Örneğin, geçiş reklamı görüntüleme çağrısı yaptığınızda uygulamanız tarafından üretilen tüm ses çıkışlarını duraklattığınızdan emin olun. Sesleri, kullanıcı reklamla etkileşimi bitirdiğinde çağrılacak olan
adDidDismissFullScreenContent:
etkinlik işleyicide oynatmaya devam edebilirsiniz. Ayrıca, reklam gösterilirken 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şamamasını sağlar. - Yeterli yükleme süresi tanıyın.
- Geçiş reklamlarını uygun zamanda gösterdiğinizden emin olmanın yanı sıra kullanıcının bu reklamların yüklenmesini beklemek zorunda kalmamasını sağlamanız da önemlidir. Reklamı, göstermek istemediğiniz zaman önceden yüklemeniz, gösterim zamanı geldiğinde uygulamanızın tam olarak yüklenmiş bir geçiş reklamının olmasını sağlar.
- Kullanıcıyı reklamlarla doldurmayı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 ve tıklama oranlarını düşürebilir. Kullanıcıların uygulama deneyiminizin keyfini çıkaramayacak 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 yükleyin. Ardından, gösterilmeye hazır olup olmadığını öğrenmek için
GADInterstitialAd
üzerindecanPresentFromRootViewController:error:
yöntemini kontrol edin.
Ek kaynaklar
GitHub'daki örnekler
- Geçiş reklamları örneği: Swift | Objective-C
Mobile Ads Garage eğitim videoları
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.