Yerel reklamlar, platformun yerel kullanıcı arayüzü bileşenleri üzerinden kullanıcılara sunulan reklam öğeleridir. Bu örnekler, 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 kendi öğelerini içeren bir reklam nesnesi alır ve bu öğeleri görüntülemekten Google Mobile Ads SDK'sı yerine uygulama sorumlu olur.
Genel olarak, yerel reklamları başarıyla uygulamanın iki bölümü vardır: SDK kullanarak bir reklam yüklemek ve ardından reklam içeriğini uygulamanızda görüntülemek.
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ştururken ve test ederken canlı, üretim reklamları yerine test reklamlarını kullandığınızdan emin olun.
Test reklamlarını yüklemenin en kolay yolu, iOS'ta yerel reklamlara özel test reklam birimi kimliğimizi kullanmaktır:
ca-app-pub-3940256099942544/3986624511
Bu kod, her istek için test reklamları 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.
Google Mobile Ads SDK'sının test reklamlarının nasıl çalıştığı hakkında daha fazla bilgi için Test reklamları konusuna bakın.
Reklamları yükle
Yerel reklamlar GADAdLoader
sınıfıyla yüklenir. Bu sınıf, yetki verdikleri kullanıcılara GADAdLoaderDelegate
protokolüne uygun şekilde mesaj gönderir.
Reklam yükleyiciyi başlatma
Reklam yükleyebilmek için ö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;
Bir reklam birimi kimliğine (test kimliğini kullanabilirsiniz), istemek istediğiniz yerel biçimleri belirtmek için adTypes
dizisinde iletilecek sabit değerlere ve options
parametresinde ayarlamak istediğiniz diğer seçeneklere ihtiyacınız olacaktır. options
parametresi için olası değerlerin listesini Yerel Reklam Seçeneklerini Ayarlama sayfasında bulabilirsiniz.
adTypes
dizisi,
bu sabit değeri :
Reklam yükleyici yetkisini uygulama
Reklam yükleyici temsilcisinin reklam türünüze özel protokolleri uygulaması gerekir.
Yerel reklamlar için GADNativeAdLoaderDelegate
protokolü, yerel bir reklam yüklendiğinde yetki verene 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 istemek için cihazın 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ı ile aynı GADRequest
nesnelerini 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
uygulamasını 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 sayısını tam olarak döndüreceği garanti edilmez.
Döndürülen Google reklamlarının tümü birbirinden farklı olsa da ayrılmış envanterden veya üçüncü taraf alıcılardan gelen reklamların benzersiz olacağı garanti edilmez.
Şu anda birden fazla yerel reklama yönelik istekler, uyumlulaştırma için yapılandırılmış reklam birimi kimlikleri için çalışmadığından uyumlulaştırma kullanıyorsanız GADMultipleAdsAdLoaderOptions
sınıfını kullanmayın.
Yüklemenin ne zaman sona erdiğini belirleme
Bir uygulama loadRequest:
işlevini çağırdıktan sonra, aşağıdaki çağrıları kullanarak isteğin sonuçlarını alabilir:
GADAdLoaderDelegate
adlı kuruluş birimindeadLoader:didFailToReceiveAdWithError:
GADNativeAdLoaderDelegate
adlı kuruluş birimindeadLoader:didReceiveNativeAd:
Tek bir reklam için yapılan istek, bu yöntemlerden birine bir çağrıyla sonuçlanır.
Birden fazla reklam için yapılan bir istek, yukarıdaki yöntemlerde en az bir geri çağırmaya neden olur ancak istenen maksimum reklam sayısını aşmaz.
Ayrıca GADAdLoaderDelegate
, adLoaderDidFinishLoading
geri çağırma özelliğini sunar. Bu yetki verme yöntemi, reklam yükleyicisinin reklamları yüklemeyi tamamladığını ve istek için başka hiçbir reklamın veya hatanın raporlanmayacağını gösterir. Tek seferde birden fazla yerel reklam yüklerken bu biçimin nasıl kullanılacağına dair bir örneği aşağıda bulabilirsiniz:
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 bir 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;
Yerel reklam etkinlikleri hakkında bildirim alın
Yerel reklam etkileşimleriyle ilgili etkinlikler hakkında bildirim almak için yerel reklamın temsilci ö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.
Listede yerel reklam 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
içinloadRequest:
yöntemini tekrar çağırmayın.
Reklamınızı gösterin
Reklamı yükledikten sonra, tek yapmanız gereken reklamı kullanıcılarınıza göstermektir. Nasıl yapıldığını görmek için Yerel Gelişmiş kılavuzumuza gidin.