Doğal reklamlar, platformda yerleşik olan kullanıcı arayüzü bileşenleri aracılığıyla kullanıcılara sunulan reklam öğeleridir. Bu şemalar, resimli taslaklarınızda halihazırda kullandığınız sınıflar kullanılarak gösterilir ve uygulamanızın görsel tasarımına uyacak şekilde biçimlendirilebilir.
Yerel reklam yüklendiğinde uygulamanız reklam nesnesinin öğelerini içeren bir reklam nesnesi alır ve bu durumda bunları göstermekten Google Mobile Ads SDK'sı yerine uygulama sorumlu olur.
Genel olarak, doğal reklamları başarıyla uygulamanın iki aşaması vardır: SDK kullanarak reklam yükleme ve ardından reklam içeriğini uygulamanızda gösterme.
Bu sayfada, yerel reklamları yüklemek için SDK'nın nasıl kullanılacağı gösterilmektedir.
Ön koşullar
- Başlangıç kılavuzunu tamamlayın.
Her zaman test reklamlarıyla test etme
Uygulamalarınızı oluşturup test ederken canlı üretim reklamları yerine test reklamlarını kullandığınızdan emin olun.
Test reklamlarını yüklemenin en kolay yolu, iOS'te yerel reklamlar için özel test reklam birimi kimliğimizi kullanmaktır:
ca-app-pub-3940256099942544/3986624511
Özel olarak her istek için test reklamı döndürecek şekilde yapılandırılmıştır. Kodlama, test etme ve hata ayıklama sırasında bu özelliği kendi uygulamalarınızda kullanabilirsiniz. Sadece uygulamanızı yayınlamadan önce bunu kendi reklam birimi kimliğinizle değiştirdiğinizden emin olun.
Google Mobile Ads SDK'sının test reklamlarının işleyiş şekli hakkında daha fazla bilgi için Test reklamları konusuna bakın.
Reklamları yükle
Doğal reklamlar, GADAdLoader
sınıfıyla yüklenir. Bu sınıf, yetki verilmiş kullanıcılara GADAdLoaderDelegate
protokolüne göre mesaj gönderir.
Reklam yükleyiciyi başlatma
Bir reklamı yüklemeden önce reklam yükleyiciyi başlatmanız gerekir.
Aşağıdaki kod, bir GADAdLoader
öğesinin nasıl başlatılacağını gösterir:
Swift
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
rootViewController: self,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;
Reklam birimi kimliğine (test kimliğini kullanabilirsiniz), istekte bulunmak istediğiniz yerel biçimleri belirtmek için adTypes
dizisinde iletilecek sabit değerlere ve options
parametresinde ayarlamak istediğiniz tüm seçeneklere ihtiyacınız vardır. options
parametresi için olası değerlerin listesini Yerel Reklam Seçeneklerini Ayarlama sayfasında bulabilirsiniz.
adTypes
dizisi,
bu sabit değeri içermelidir:
Reklam yükleyici yetkisini uygulama
Yetki verilmiş reklam yükleyicisinin, reklam türünüze özel protokolleri uygulaması gerekir.
Doğal reklamlarda GADNativeAdLoaderDelegate
protokolü, yerel reklam yüklendiğinde yetki verilen kullanıcıya gönderilen bir mesajı içerir.
Swift
public func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
Reklam isteğinde bulun
GADAdLoader
başlatıldıktan sonra reklam isteğinde bulunmak için loadRequest:
yöntemini çağırın:
Swift
adLoader.load(GADRequest())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
GADAdLoader
içindeki loadRequest:
yöntemi, banner'lar ve geçiş reklamlarıyla aynı GADRequest
nesneleri kabul eder. Diğer reklam türlerinde olduğu gibi hedefleme bilgileri eklemek için istek nesnelerini kullanabilirsiniz.
Birden çok reklam yükleyin (isteğe bağlı)
Tek bir istekte birden çok reklam yüklemek için GADAdLoader
öğesini başlatırken GADMultipleAdsAdLoaderOptions
nesnesini ayarlayın.
Swift
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
rootViewController: self,
adTypes: [ .native ],
options: [ multipleAdOptions ])
Objective-C
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
İstek başına reklam sayısı beşle sınırlıdır ve SDK'nın istenen reklamı tam olarak döndüreceği garanti edilmez.
Döndürülen Google reklamlarının tümü birbirinden farklı olacaktır ancak ayrılmış envantere veya üçüncü taraf alıcılara ait reklamların benzersiz olacağı garanti edilmez.
Uyumlulaştırma kullanıyorsanız GADMultipleAdsAdLoaderOptions
sınıfını kullanmayın. Çünkü birden fazla yerel reklama yönelik istekler, uyumlulaştırma için yapılandırılmış reklam birimi kimlikleri için şu anda çalışmaz.
Yüklemenin ne zaman bittiğini belirleme
Bir uygulama loadRequest:
çağrısından sonra, şunları yapmak için yapılan çağrıları kullanarak isteğin sonuçlarını alabilir:
GADAdLoaderDelegate
konumundaadLoader:didFailToReceiveAdWithError:
GADNativeAdLoaderDelegate
konumundaadLoader:didReceiveNativeAd:
Tek bir reklam isteği, bu yöntemlerden birine bir çağrıyla sonuçlanır.
Birden fazla reklam için yapılan istek, yukarıdaki yöntemlere en az bir geri aramayla sonuçlanır. Ancak istenen maksimum reklam sayısından fazla değildir.
Buna ek olarak, GADAdLoaderDelegate
, adLoaderDidFinishLoading
geri çağırma olanağı sunar. Bu yetkilendirme yöntemi, reklam yükleyicinin reklamları yüklemeyi tamamladığını ve istek için başka hiçbir reklam veya hatanın raporlanmayacağını gösterir. Aşağıda, tek seferde birden fazla doğal reklam yüklerken bu özelliğin nasıl kullanılacağına dair bir örnek verilmiştir:
Swift
class ViewController: UIViewController, GADNativeAdLoaderDelegate {
var adLoader: GADAdLoader!
override func viewDidLoad() {
super.viewDidLoad()
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
rootViewController: self,
adTypes: [ .native ],
options: [ multipleAdOptions ])
adLoader.delegate = self
adLoader.load(GADRequest())
}
func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd) {
// A native ad has loaded, and can be displayed.
}
func adLoaderDidFinishLoading(_ adLoader: GADAdLoader) {
// The adLoader has finished loading ads, and a new request can be sent.
}
}
Objective-C
@interface ViewController () <GADNativeAdLoaderDelegate, GADVideoControllerDelegate>
@property(nonatomic, strong) GADAdLoader *adLoader;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
self.adLoader.delegate = self;
[self.adLoader loadRequest:[GADRequest request]];
}
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd {
// A native ad has loaded, and can be displayed.
}
- (void)adLoaderDidFinishLoading:(GADAdLoader *) adLoader {
// The adLoader has finished loading ads, and a new request can be sent.
}
@end
Başarısız istekleri işleme
Yukarıdaki protokoller, reklamlar yüklenemediğinde gönderilen mesajı tanımlayan GADAdLoaderDelegate
protokolünü genişletir.
Swift
public func adLoader(_ adLoader: GADAdLoader,
didFailToReceiveAdWithError error: NSError)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didFailToReceiveAdWithError:(NSError *)error;
Doğal reklam etkinliklerinden haberdar olun
Doğal reklam etkileşimleriyle ilgili etkinlikler hakkında bildirim almak için yerel reklamın yetki verme özelliğini ayarlayın:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
Ardından, aşağıdaki yetki çağrılarını almak için GADNativeAdDelegate
uygulayın:
Swift
func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) {
// The native ad will cause the app to become inactive and
// open a new app.
}
Objective-C
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
// The native ad was shown.
}
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
// The native ad was clicked on.
}
- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
// The native ad will present a full screen view.
}
- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
// The native ad will dismiss a full screen view.
}
- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
// The native ad did dismiss a full screen view.
}
- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
// The native ad will cause the app to become inactive and
// open a new app.
}
En iyi uygulamalar
Reklamları yüklerken bu kurallara uyun.
Listedeki yerel reklamlar kullanan uygulamalar, reklam listesini önbelleğe almalıdır.
Reklamları önbelleğe alırken önbelleğinizi temizleyin ve bir saat sonra yeniden yükleyin.
adLoaderDidFinishLoading:
ile belirtildiği gibi, önceki isteğin yüklenmesi bitene kadarGADAdLoader
üzerindenloadRequest:
öğesini tekrar çağırmayın.
Reklamınızı gösterin
Bir reklamı yükledikten sonra geriye kalan tek şey onu kullanıcılarınıza göstermektir. Nasıl yapıldığını görmek için Yerel Gelişmiş kılavuzumuza gidin.