Bu sayfada, iOS için Google Mobile Ads SDK'sının mevcut ve önceki sürümlerine yönelik geçişler ele alınmaktadır. 12.0.0 sürümünün Şubat 2025'te yayınlanması bekleniyor.
SDK sürümü v11'den v12'ye geçiş
Xcode 16.0'a yükseltme
Desteklenen minimum Xcode sürümü 16.0'a yükseltildi.
Swift adlandırma desteği
12.0.0 sürümü, Swift API Tasarım Kuralları'ndaki adlandırma kurallarına uyacak şekilde değişiklikler içerir. Bu değişiklikler yalnızca Swift'i etkiler. Objective-C API'lerinde adlandırma değişikliği yapılmadı.
Sınıf öneki değişiklikleri
Sınıf öneklerinde aşağıdaki değişiklikler yapıldı:
- Tüm türlerin adlarındaki
GAD
öneki kaldırıldı. GAM
önekiniAdManager
olarak yeniden adlandırdı.GADM
önekiniMediation
olarak yeniden adlandırdı.
Hataları çözme
Bu değişikliklerden kaynaklanan hataları düzeltmenin en iyi yolu düzeltme işlemi yapmaktır.
Adlandırma çakışmalarını çözme
Adlandırma çakışmalarını çözmek için modül tarafından sağlanan ad alanını kullanın. Örneğin, GADRequest
artık Request
olarak adlandırılıyor. Aşağıdaki örnek ad alanları, Google Mobile Ads SDK Request
sınıfını adlandırır:
import GoogleMobileAds
...
var request: GoogleMobileAds.Request?
Swift değişikliklerinin ayrıntılı listesi
Aşağıdaki tablolarda Swift API'lerinde yapılan değişiklikler listelenmiştir:
Sürüm 11 | 12 Sürümü |
---|---|
GADAdapterInitializationState |
AdapterInitializationState |
GADAdChoicesPosition |
AdChoicesPosition |
GADAdChoicesView |
AdChoicesView |
GADAdFormat |
AdFormat |
GADAdLoader |
AdLoader |
GADAdLoaderAdType |
AdLoaderAdType |
GADAdLoaderDelegate |
AdLoaderDelegate |
GADAdMetadataDelegate |
AdMetadataDelegate |
GADAdMetadataProvider |
AdMetadataProvider |
GADAdNetworkExtras |
AdNetworkExtras |
GADAdNetworkResponseInfo |
AdNetworkResponseInfo |
GADAdReward |
AdReward |
GADAdSize |
AdSize |
GADAdSizeDelegate |
AdSizeDelegate |
GADAdValue |
AdValue |
GADAdValuePrecision |
AdValuePrecision |
GADAppEventDelegate |
AppEventDelegate |
GADAppOpenAd |
AppOpenAd |
GADAppOpenSignalRequest |
AppOpenSignalRequest |
GADAudioVideoManager |
AudioVideoManager |
GADAudioVideoManagerDelegate |
AudioVideoManagerDelegate |
GADBannerSignalRequest |
BannerSignalRequest |
GADBannerView |
BannerView |
GADBannerViewDelegate |
BannerViewDelegate |
GADCustomEventExtras |
CustomEventExtras |
GADCustomEventRequest |
CustomEventRequest |
GADCustomNativeAd |
CustomNativeAd |
GADCustomNativeAdLoaderDelegate |
CustomNativeAdLoaderDelegate |
GADCustomNativeAdDelegate |
CustomNativeAdDelegate |
GADDebugOptionsViewControllerDelegate |
DebugOptionsViewControllerDelegate |
GADDebugOptionsViewController |
DebugOptionsViewController |
GADDisplayAdMeasurement |
DisplayAdMeasurement |
GADExtras |
Extras |
GADFullScreenPresentingAd |
FullScreenPresentingAd |
GADFullScreenContentDelegate |
FullScreenContentDelegate |
GADAdapterStatus |
AdapterStatus |
GADInitializationStatus |
InitializationStatus |
GADInterstitialAd |
InterstitialAd |
GADInterstitialSignalRequest |
InterstitialSignalRequest |
GADMediaAspectRatio |
MediaAspectRatio |
GADMediaContent |
MediaContent |
GADMediaView |
MediaView |
GADMobileAds |
MobileAds |
GADMultipleAdsAdLoaderOptions |
MultipleAdsAdLoaderOptions |
GADMuteThisAdReason |
MuteThisAdReason |
GADNativeAd |
NativeAd |
GADNativeAdLoaderDelegate |
NativeAdLoaderDelegate |
GADNativeAdView |
NativeAdView |
GADNativeAdCustomClickGestureOptions |
NativeAdCustomClickGestureOptions |
GADNativeAdDelegate |
NativeAdDelegate |
GADNativeAdImage |
NativeAdImage |
GADNativeAdImageAdLoaderOptions |
NativeAdImageAdLoaderOptions |
GADNativeAdInlineBehavior |
NativeAdInlineBehavior |
GADNativeAdInlineBehaviorOptions |
NativeAdInlineBehaviorOptions |
GADNativeAdMediaAdLoaderOptions |
NativeAdMediaAdLoaderOptions |
GADNativeAdUnconfirmedClickDelegate |
NativeAdUnconfirmedClickDelegate |
GADNativeAdViewAdOptions |
NativeAdViewAdOptions |
GADNativeMuteThisAdLoaderOptions |
NativeMuteThisAdLoaderOptions |
GADNativeSignalRequest |
NativeSignalRequest |
GADPresentationError |
PresentationError |
GADPublisherPrivacyPersonalizationState |
PublisherPrivacyPersonalizationState |
GADQueryInfo |
QueryInfo |
GADRequest |
Request |
GADRequestError |
RequestError |
GADRequestConfiguration |
RequestConfiguration |
GADResponseInfo |
ResponseInfo |
GADRewardedAd |
RewardedAd |
GADRewardedSignalRequest |
RewardedSignalRequest |
GADRewardedInterstitialAd |
RewardedInterstitialAd |
GADRewardedInterstitialSignalRequest |
RewardedInterstitialSignalRequest |
GADSearchBannerView |
SearchBannerView |
GADServerSideVerificationOptions |
ServerSideVerificationOptions |
GADSignal |
Signal |
GADSignalRequest |
SignalRequest |
GADVersionNumber |
VersionNumber |
GADVideoController |
VideoController |
GADVideoControllerDelegate |
VideoControllerDelegate |
Ad Manager | |
GAMBannerAdLoaderDelegate |
AdManagerBannerAdLoaderDelegate |
GAMBannerView |
AdManagerBannerView |
GAMBannerViewOptions |
AdManagerBannerViewOptions |
GAMInterstitialAd |
AdManagerInterstitialAd |
GAMRequest |
AdManagerRequest |
Uyumlulaştırma | |
GADMAdNetworkAdapter |
MediationAdNetworkAdapter |
GADMAdNetworkConnector |
MediationAdNetworkConnector |
GADMBannerAnimationType |
MediationBannerAnimationType |
GADMediatedUnifiedNativeAd |
MediationUnifiedNativeAd |
GADMediatedUnifiedNativeAdNotificationSource |
MediationUnifiedNativeAdNotificationSource |
GADMediationAd |
MediationAd |
GADMediationAdConfiguration |
MediationAdConfiguration |
GADMediationAdEventDelegate |
MediationAdEventDelegate |
GADMediationAdRequest |
MediationAdRequest |
GADMediationAdapter |
MediationAdapter |
GADMediationAppOpenAd |
MediationAppOpenAd |
GADMediationAppOpenAdEventDelegate |
MediationAppOpenAdEventDelegate |
GADMediationBannerAd |
MediationBannerAd |
GADMediationBannerAdConfiguration |
MediationBannerAdConfiguration |
GADMediationBannerAdEventDelegate |
MediationBannerAdEventDelegate |
GADMediationCredentials |
MediationCredentials |
GADMediationInterstitialAd |
MediationInterstitialAd |
GADMediationInterstitialAdConfiguration |
MediationInterstitialAdConfiguration |
GADMediationInterstitialAdEventDelegate |
MediationInterstitialAdEventDelegate |
GADMediationNativeAd |
MediationNativeAd |
GADMediationNativeAdConfiguration |
MediationNativeAdConfiguration |
GADMediationNativeAdEventDelegate |
MediationNativeAdEventDelegate |
GADMediationRewardedAd |
MediationRewardedAd |
GADMediationRewardedAdConfiguration |
MediationRewardedAdConfiguration |
GADMediationRewardedAdEventDelegate |
MediationRewardedAdEventDelegate |
GADMediationServerConfiguration |
MediationServerConfiguration |
Gerçek zamanlı teklif verme | |
GADRTBAdapter |
RTBAdapter |
GADRTBMediationSignalsConfiguration |
RTBMediationSignalsConfiguration |
GADRTBRequestParameters |
RTBRequestParameters |
Sabitler
Sürüm 11 | 12 Sürümü |
---|---|
GADAdLoaderAdType.gamBanner |
AdLoaderAdType.adManagerBanner |
GADAdSizeBanner |
AdSizeBanner |
GADAdSizeFluid |
AdSizeFluid |
GADAdSizeFullBanner |
AdSizeFullBanner |
GADAdSizeInvalid |
AdSizeInvalid |
GADAdSizeLargeBanner |
AdSizeLargeBanner |
GADAdSizeLeaderboard |
AdSizeLeaderboard |
GADAdSizeMediumRectangle |
AdSizeMediumRectangle |
GADAdSizeSkyscraper |
AdSizeSkyscraper |
GoogleMobileAdsVersionString |
GoogleMobileAdsVersion |
Özellikler
Tür | Sürüm 11 | 12 Sürümü |
---|---|---|
GADAdLoader | loading |
isLoading |
GADAudioVideoManager | audioSessionApplicationManaged |
isAudioSessionApplicationManaged |
GADBannerView | autoloadEnabled |
isAutoloadEnabled |
GADMobileAds | sharedInstance |
shared |
applicationMuted |
isApplicationMuted |
|
GADMuteThisAdReason | reasonDescription |
reason |
GADNativeAd | customMuteThisAdAvailable |
isCustomMuteThisAdAvailable |
GADNativeAdCustomClickGestureOptions | tapsAllowed |
areTapsAllowed |
GADNativeAdImageAdLoaderOptions | imageLoadingDisabled |
isImageLoadingDisabled |
GADNativeMuteThisAdLoaderOptions | customMuteThisAdRequested |
isCustomMuteThisAdRequested |
GADNativeSignalRequest | imageLoadingDisabled |
isImageLoadingDisabled |
customMuteThisAdRequested |
isCustomMuteThisAdRequested |
|
GADRequest | neighboringContentURLStrings |
neighboringContentURLs |
GADResponseInfo | extrasDictionary |
extras |
GADServerSideVerificationOptions | customRewardString |
customRewardText |
GADSignal | signalString |
signal |
GADSignalRequest | neighboringContentURLStrings |
neighboringContentURLs |
GADVideoController | customControlsRequested |
areCustomControlsRequested |
clickToExpandEnabled |
isClickToExpandEnabled |
|
GADVideoOptions | startMuted |
shouldStartMuted |
customControlsRequested |
areCustomControlsRequested |
|
clickToExpandRequested |
isClickToExpandRequested |
İşlevler
Tür | Sürüm 11 | 12 Sürümü |
---|---|---|
GADAdSize | GADPortraitInlineAdaptiveBannerAdSizeWithWidth(_:) |
portraitInlineAdaptiveBanner(width:) |
GADLandscapeInlineAdaptiveBannerAdSizeWithWidth(_:) |
landscapeInlineAdaptiveBanner(width:) |
|
GADCurrentOrientationInlineAdaptiveBannerAdSizeWithWidth(_:) |
currentOrientationInlineAdaptiveBanner(width:) |
|
GADInlineAdaptiveBannerAdSizeWithWidthAndMaxHeight(_:, _:) |
inlineAdaptiveBanner(width:maxHeight:) |
|
GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth(_:) |
portraitAnchoredAdaptiveBanner(width:) |
|
GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(_:) |
landscapeAnchoredAdaptiveBanner(width:) |
|
GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(_:) |
currentOrientationAnchoredAdaptiveBanner(width:) |
|
GADAdSizeFromCGSize(_:) |
adSizeFor(cgSize:) |
|
GADAdSizeFullWidthPortraitWithHeight(_:) |
fullWidthPortrait(height:) |
|
GADAdSizeFullWidthLandscapeWithHeight(_:) |
fullWidthLandscape(height:) |
|
GADAdSizeEqualToSize(_:, _:) |
isAdSizeEqualToSize(size1:size2:) |
|
IsGADAdSizeValid(_:) |
isAdSizeValid(size:) |
|
GADAdSizeIsFluid(_:) |
isAdSizeFluid(size:) |
|
CGSizeFromGADAdSize(_:) |
cgSize(for:) |
|
NSStringFromGADAdSize(_:) |
string(for:) |
|
NSValueFromGADAdSize(_:) |
nsValue(for:) |
|
GADAdSizeFromNSValue(_:) |
adSizeFor(nsValue:) |
|
GADClosestValidSizeForAdSizes(_:_:) |
closestValidSizeForAdSizes(original:possibleAdSizes:) |
|
GADAppEventDelegate | adView(_:didReceiveAppEvent:withInfo:) |
adView(_:didReceiveAppEvent:with:) |
interstitialAd(_:didReceiveAppEvent:withInfo:) |
adView(_:didReceiveAppEvent:with:) |
|
GADAppOpenAd | load(withAdResponseString:) |
load(with:) |
load(withAdUnitID:request:completionHandler:) |
load(with:request:completionHandler:) |
|
canPresent(fromRootViewController:) |
canPresent(from:) |
|
present(fromRootViewController:) |
present(from:) |
|
GADBannerView | load(withAdResponseString:) |
load(with:) |
GADInterstitial | load(withAdResponseString:) |
load(with:) |
load(withAdUnitID:request:completionHandler:) |
load(with:request:completionHandler:) |
|
canPresent(fromRootViewController:) |
canPresent(from:) |
|
present(fromRootViewController:) |
present(from:) |
|
GADRewardedAd | load(withAdResponseString:) |
load(with:) |
load(withAdUnitID:request:completionHandler:) |
load(with:request:completionHandler:) |
|
canPresent(fromRootViewController:) |
canPresent(from:) |
|
present(fromRootViewController:userDidEarnRewardHandler:) |
present(from:userDidEarnRewardHandler:) |
|
GADRewardedInterstitialAd | load(withAdResponseString:) |
load(with:) |
load(withAdUnitID:request:completionHandler:) |
load(with:request:completionHandler:) |
|
canPresent(fromRootViewController:) |
canPresent(from:) |
|
present(fromRootViewController:userDidEarnRewardHandler:) |
present(from:userDidEarnRewardHandler:) |
|
GADVersionNumber | GADGetStringFromVersionNumber(_ version: GADVersionNumber) |
string(for:) |
Uyumlulaştırma | ||
GADMAdNetworkAdapter | getBannerWith(_:) |
getBanner(with:) |
presentInterstitial(fromRootViewController:) |
presentInterstitial(from:) |
|
getNativeAd(withAdTypes:options:) |
getNativeAd(with:options:) |
|
GADMediatedUnifiedNativeAd | didRecordClickOnAsset(withName:view:viewController:) |
didRecordClickOnAsset(with:view:viewController:) |
GADMediationAdapter | setUpWith(_:completionHandler:) |
setUp(with:completionHandler:) |
GADMediationAdSize | present(fromRootViewController:) |
present(from:) |
GADMediationAppOpenAd | present(fromRootViewController:) |
present(from:) |
GADMediationInterstitialAd | present(fromRootViewController:) |
present(from:) |
GADMediationRewardedAd | present(fromRootViewController:) |
present(from:) |
GAMInterstitialAd | load(withAdManagerAdUnitID:request:completionHandler:) |
load(with:request:completionHandler:) |
Videonun sessize alma durumunu kontrol etmeyle ilgili API değişiklikleri
GADVideoController
üzerindeki isMuted
özelliği ve setMute:
yöntemi, muted
özelliğiyle değiştirildi.
Satır içi uyarlanabilir reklamlarda yapılan değişiklikler
Alan kullanımını optimize etmek için satır içi uyarlanabilir reklamlar başlangıçta çerçevede yer kaplamaz. Satır içi uyarlanabilir reklam boyutuyla CGSizeFromGADAdSize(_:)
çağrıldığında, Google Mobile Ads SDK'sı bir reklam döndürene kadar 0
yüksekliği döndürülür.
Özel arama reklamları kaldırıldı
Aşağıdaki sınıflar değiştirilmeden kaldırıldı:
GADDynamicHeightSearchBannerView
GADDynamicHeightSearchRequest
GADSearchBannerView
Hata kodlarında yapılan değişiklikler
Aşağıdaki hata kodları değiştirildi:
Sınıf | Notlar |
---|---|
GADErrorMediationNoFill |
Hatalar artık GADErrorNoFill olarak döndürülüyor. |
GADErrorReceivedInvalidResponse |
GADErrorReceivedInvalidAdString ile değiştirildi. |
GADSimulatorID kaldırıldı
GADSimulatorID
kaldırıldı. Simülatörler varsayılan olarak test modundadır.
Özel hedeflemede yapılan değişiklikler
GADRequest
üzerindeki customTargeting
sözlüğünde artık değer türü olarak String
yerine Any
kullanılıyor. Bu, API'ye sayısal değerler iletmenize olanak tanır.
Ekstralar parametrelerinde yapılan değişiklikler
max_ad_content_rating
anahtarınınadditionalParameters
'e aktarılması artık desteklenmiyor. Maksimum reklam içeriği derecelendirmesi ayarlamak için reklam içeriği filtreleme başlıklı makaleyi inceleyin.
v10'dan v11'e taşıma
Minimum dağıtım hedefi
Minimum dağıtım hedefi iOS 12'ye yükseltildi.
Minimum Xcode sürümü
Desteklenen minimum Xcode sürümü 15.1'e yükseltildi.
iOS 12'de reklam yayını durduruluyor
Google Mobile Ads SDK'sı 11.0.0 sürümü, yalnızca iOS 13 ve sonraki sürümlerin yüklü olduğu cihazlarda reklam yayınlar.
GoogleAppMeasurement bağımlılığı kaldırıldı
11.0.0 sürümünde, GoogleAppMeasurement
bağımlılığı kaldırıldı. AdMob'daki kullanıcı metrikleri açma/kapatma düğmesini destekleyen bu bağımlılık, 2024'ün başlarında kullanımdan kaldırılacak. AdMob'da kullanıcı metriklerini toplamaya devam etmek için AdMob uygulamanızı Firebase'e bağlayın ve Firebase için Google Analytics SDK'sını uygulamanıza entegre edin.
Tam ekran reklam sunumunda yapılan değişiklikler
Aşağıdaki değişiklikler çeşitli reklam biçimlerini etkiler:
- Uygulama açılışı
- Geçiş reklamı
- Ödüllü
- Ödüllü geçiş reklamı
-canPresentFromRootViewController:error:
ve -presentFromRootViewController:
içindeki görünüm denetleyicisi parametresi null olabilir. Nil iletilirse reklam, görünüm denetleyici hiyerarşisindeki en üstteki görünüm denetleyiciden sunulur.
Yöntemler kaldırıldı
Aşağıdaki yöntemler kaldırıldı.
v11.0.0 Türü | Yöntem | Notlar |
---|---|---|
GADAppOpenAd | load(withAdUnitID adUnitID: String, request: GADRequest?, orientation: UIInterfaceOrientation) |
Bunun yerine load(withAdUnitID adUnitID: String, request: GADRequest?) kullanın. |
GADMediationBannerAdEventDelegate | willBackgroundApplication() |
Değiştirme yok. |
GADMediationInterstitialAdEventDelegate | willBackgroundApplication() |
Değiştirme yok. |
GADMediationNativeAdEventDelegate | willBackgroundApplication() |
Değiştirme yok. |
GADMediationRewardedAdEventDelegate | didRewardUser(with reward: GADAdReward) |
Bunun yerine didRewardUser() kullanın. |
GADMediatedUnifiedNativeAdNotificationSource | mediatedNativeAdWillLeaveApplication(_ mediatedNativeAd: GADMediatedUnifiedNativeAd) |
Değiştirme yok. |
GADRequestConfiguration | setSameAppKeyEnabled(_ enabled: Bool) |
Bunun yerine setPublisherFirstPartyIDEnabled(_ enabled: Bool) politikasını kullanın. |
tagForUnderAge(ofConsent underAgeOfConsent: Bool) |
Bunun yerine tagForUnderAgeOfConsent özelliğini kullanın. |
|
tag(forChildDirectedTreatment childDirectedTreatment: Bool) |
Bunun yerine tagForChildDirectedTreatment özelliğini kullanın. |
Kaldırılan mülkler
Aşağıdaki özellikler kaldırıldı.
v11.0.0 Class | Mülk | Notlar |
---|---|---|
GADMediationAdConfiguration | hasUserLocation | Değiştirme yok. |
userLatitude | ||
userLongitude | ||
userLocationAccuracyInMeters | ||
childDirectedTreatment | Bunun yerine GADMobileAds.sharedInstance.requestConfiguration.tagForChildDirectedTreatment kullanın. |
|
GADResponseInfo | adNetworkClassName | Bunun yerine loadedAdNetworkResponseInfo 'daki adNetworkClassName seçeneğini kullanın. |
GADAdFormatUnknown kaldırıldı
GADAdFormatUnknown
, yerine başka bir öğe eklenmeden kaldırıldı.
SDK sürümünün kaydedilmesiyle ilgili değişiklikler
11.0.0 sürümünde sdkVersion
kaldırıldı. Google Mobile Ads SDK sürümünü günlüğe kaydetmek için
versionNumber
kullanın.
Sürüm 10.0.0
GADMobileAds.sharedInstance().sdkVersion
Sürüm 11.0.0
GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber)
GADAdLoader hata işleme ile ilgili değişiklikler
11.0.0 sürümünden itibaren GADAdLoader
, delegate
istenen reklam türlerinin temsilci protokolüne uymuyorsa reklam isteğinde bulunmaz. Daha önce, reklam isteği yapıldıktan sonra başarısız oluyordu.
Test davranışındaki değişiklikler
Aşağıdaki özelliklerin true
döndürdüğü durumlarla ilgili güncellenen koşulları gösteren tabloya bakın.
Sınıf | Mülk |
---|---|
GADMediationAdConfiguration | isTestRequest |
GADCustomEventRequest | isTesting |
v10.0.0 | v11.0.0 |
|
|
v9'dan v10'a taşıma
iOS 11'de reklam yayını durduruluyor
Google Mobile Ads SDK'sı 10.0.0 sürümü yalnızca iOS 12 ve sonraki sürümlerin yüklü olduğu cihazlarda reklam yayınlar.
Google Mobile Ads SDK'sının 10.0.0 sürümüne yükseltme yaptığınızda uygulamanız iOS 11 ve iOS 10 cihazlarda bozulmaz ancak bu cihazlarda reklam yayınlanmaz.
Bitcode ile derleme artık desteklenmiyor
Google Mobile Ads SDK'sını entegre etmek için artık mobil uygulamalarınızda bitcode'u devre dışı bırakmanız gerekiyor.
Kaldırılan türler
Tür | Notlar |
---|---|
GADGender | Değiştirme yok. |
GADMRewardBasedVideoAdNetworkAdapterProtocol | Ağ Seçin sayfasında listelenen tüm ödüllü uyumlulaştırma bağdaştırıcıları, bir yılı aşkın süredir bu protokolleri kullanmayı bıraktı. Aracılık ve özel etkinlikler için GADMediationAdapter'ı kullanın. |
GADMRewardBasedVideoAdNetworkConnectorProtocol |
Kaldırılan mülkler
Aşağıdaki özellikler değiştirilmeden kaldırılır.
v10.0.0 Class | Mülk |
---|---|
GADMediationAdRequest | userBirthday |
userGender | |
userHasLocation | |
userLatitude | |
userLongitude | |
userLocationAccuracyInMeters | |
userLocationDescription | |
GADCustomEventRequest | userHasLocation |
userLatitude | |
userLongitude | |
userLocationAccuracyInMeters | |
userLocationDescription |
v8'den v9'a taşıma
Reklam yayını iOS 10'da durduruluyor
Google Mobile Ads SDK'sının 9.0.0 sürümünün desteklediği minimum iOS sürümü iOS 11'dir.
Google Mobile Ads SDK'sının 9.0.0 sürümüne yükseltme işlemi, uygulamanızın iOS 10 cihazlarda bozulmasına neden olmaz ancak bu cihazlarda reklam yayınlanmaz.
Durum çubuğu kontrollerinin daha katı bir şekilde uygulanması
9.0.0 sürümünden itibaren, tam ekran biçimli reklamlar gösterdiğinizde uygulamanız, reklamların durum çubuğunun gösterimini kontrol edebilmesini sağlamalıdır. Aksi takdirde, günlüklerde bir hata mesajı görürsünüz.
Uygulamanızdaki görünüm denetleyicilerinin düzenine bağlı olarak, bunu sağlamak için herhangi bir değişiklik yapmanız gerekmeyebilir. Reklamınızın rootViewController
üzerinde childViewControllerForStatusBarHidden
özelliğini ayarlamanız gerekip gerekmediğini değerlendirin.
adDidPresentFullScreenContent: öğesini adWillPresentFullScreenContent: olarak yeniden adlandırın.
Davranış değişikliği yoktur. Yetki verme yöntemi, reklam gösterilmeden hemen önce çağrılır. Bu nedenle, yeni yöntem adı işlevselliğini daha iyi yansıtır.
GADRequest'te konum ayarı API'sini kaldırma
Konum verileri Google tarafından reklam hedeflemesi için kullanılmadığından - (void)setLocationWithLatitude:longitude:accuracy:
, GADRequest
reklamından silindi. Gerekirse üçüncü taraf reklam ağlarına bilgi sağlamak için üçüncü taraf API'lerini kullanın.
Özel etkinlik arayüzlerinin desteği sonlandırılıyor
Özel etkinlikler, AdMob uyumlulaştırmasını kullanan yayıncıların desteklenen reklam ağlarından biri olmayan bir reklam ağı için şelale uyumlulaştırması eklemesine olanak tanır.
Tüm özel etkinlik protokollerinin desteği sonlandırıldı. Bunun yerine, aynı işlevleri elde etmek için mevcut GADMediationAdapter
ve GADMediationAdEventDelegate
protokollerini kullanın. Bu değişiklik, netliği artırır ve daha önce kullanılamayan ödüllü reklamlar ile kaydırma arası reklamlar için özel etkinlikler oluşturmanıza olanak tanır.
API'ler
Aşağıdaki tabloda, özel etkinliklere karşılık gelen aracılık adaptörü API'leri (9.0.0 sürümünden itibaren kullanılması gereken API'ler) listelenmiştir.
v8 | v9 | |
---|---|---|
GADCustomEventBanner GADCustomEventInterstitial GADCustomEventNativeAd |
GADMediationAdapter | GADMediationBannerAd GADMediationInterstitialAd GADMediationInterscrollerAd GADMediationRewardedAd GADMediationNativeAd |
delegate
|
Temsilci, GADMediationAdapter sınıfının her yükleme işlevinin yükleme tamamlama işleyicisi tarafından döndürülür.
|
|
-init |
-init |
|
-requestBannerAd:parameter: |
-loadBannerForAdConfiguration: |
|
-requestInterstitialAdWith |
-loadInterstitialFor |
|
-requestNativeAdWithParameter:
|
-loadNativeAdFor |
|
Yok | -loadInterscrollerAdFor |
|
Yok | -loadRewardedAdFor |
|
-presentFromRootViewController:
|
-presentFromViewController: |
|
-handlesUserClicks |
-handlesUserClicks |
|
-handlesUserImpressions |
-handlesUserImpressions |
Temsilci yöntemleri
Aşağıdaki tabloda, 9.0.0 sürümünden itibaren kullanılması gereken özel etkinlik temsilci yöntemlerine karşılık gelen arabuluculuk reklam etkinliği temsilci yöntemleri listelenmiştir.
v8 | v9 | |
---|---|---|
GADCustomEventBannerDelegate GADCustomEventInterstitialDelegate GADCustomEventNativeAdDelegate |
GADMediationAdEventDelegate | GADMediationAd |
-customEventBanner:didReceiveAd: -customEventInterstitialDidReceiveAd:
|
Reklam yükleme durumu, GADMediationAdapter sınıfındaki her yükleme işlevinin yükleme tamamlama işleyicisine dahil edilir.
|
|
-customEventBanner:didFailAd: -customEventInterstitial:didFailAd:
|
||
-customEventBannerWasClicked: -customEventInterstitialWasClicked:
|
-reportClick |
|
-customEventBannerWill -customEventInterstitialWill
|
-willPresentFullScreenView |
|
-customEventBannerWill -customEventInterstitialWill
|
-willDismissFullScreenView |
|
-customEventBannerDid -customEventInterstitialDid
|
-didDismissFullScreenView |
|
-customEventBannerWill -customEventInterstitialWill
|
-willBackgroundApplication |
|
viewControllerFor |
-[GADMediationBannerAd view] |
Kaldırılan/değiştirilen diğer yöntemler ve sabitler
Yöntem, sabit veya özelliklerde yapılan değişiklikler | |
---|---|
kGAD- önekli sabitler
|
Kaldırıldı. GAD- önekli sabitleri kullanın.
|
GADAdNetworkResponseInfo
|
credentials kaldırıldı. Bunun yerine adUnitMapping
politikasını kullanın.
|
GADCustomNativeAd
|
GADCustomNativeAd içindeki mediaView desteği sonlandırıldı.
Bunun yerine mediaContent politikasını kullanın.
|
GoogleMobileAds 'daki uygulama içi satın alma API'leri |
GoogleMobileAds içindeki inAppPurchase API'leri kaldırıldı.
|
v7'den v8'e taşıma
Google Mobile Ads SDK'sının 8.0.0 sürümünde, bazı API'lerle ilgili yeniden adlandırma ve kaldırma işlemlerinin yanı sıra birkaç önemli değişiklik yapılmıştır.
Tam ekran biçimi API güncellemeleri
8.0.0 sürümünden itibaren, daha tutarlı bir deneyim için geçiş reklamları ve ödüllü reklamlar genel bir tam ekran reklam stili kullanır. Bu yeni tam ekran reklam API'leri, 7. sürüm tam ekran reklam API'lerinden iki önemli noktada ayrılır:
Statik sınıf yöntemi
load
.Tam ekran reklam yükleme/gösterme ile ilgili önceki yaklaşım aşağıdaki gibidir:
- Bir reklam nesnesi örneği oluşturun ve buna referans tutun.
- Yükleme ve gösterme geri çağırmalarını işleyen bir temsilci atayın.
- Reklam yükleyin.
- Reklamın
isReady
kullanılarak yüklenip yüklenmediğini kontrol edin. - Reklamı gösterin.
8. sürümde yaklaşım biraz değişiyor. Yükleme geri çağırmaları artık bir temsilcinin parçası değil. Bunun yerine,
load
yöntemine tamamlama işleyicisi olarak iletilirler:- Reklam sınıfında statik bir yükleme yöntemini çağırın ve yükleme tamamlama işleyicisi sağlayın.
- Yükleme tamamlama geri çağırma işlevinde, döndürülen yüklenmiş reklama referans tutun.
- Gösteri geri aramalarını işleyen bir temsilci atayın.
- Reklamı gösterin.
Yeni yaklaşım şu avantajları sunar:
- Hiçbir zaman yüklenmemiş bir reklama referans vermezsiniz.
- Yüklenirken bir reklam nesnesini tutmanız gerekmez.
Tutarlı reklam etkinlikleri
Etkinlik türü Mevcut API v8 API Yükleme etkinlikleri GADInterstitialDelegate
veyaGADRewardedAdDelegate
GADInterstitialAdLoadCompletionHandler
veyaGADRewardedAdLoadCompletionHandler
Sunu etkinlikleri GADFullScreenContentDelegate
Daha önce, herhangi bir reklam etkinliğini dinlemek için kullandığınız biçime bağlı olarak bir geçiş reklamının temsilci özelliğine
GADInterstitialDelegate
protokolünü uygulayan bir sınıfı veya ödüllü reklamın temsilci özelliğineGADRewardedAdDelegate
protokolünü uygulayan bir sınıfı kaydederdiniz. Aynı temsilci, bir reklamın hem yükleme hem de sunum yaşam döngüsüyle ilgili yöntemlere sahipti.8. sürümde yükleme ve sunum etkinlikleri ayrıdır. Artık reklam yüklenmeden önce tek bir temsilci ayarlamanız gerekmez. Bunun yerine, reklam gösterilmeden önce istediğiniz zaman
GADFullScreenContentDelegate
kaydedebilirsiniz. Her biçime özel olan reklam yükleme etkinlikleri, yükleme yönteminde iletilen tek bir yükleme tamamlama işleyicisine taşınır.
Geçiş reklamı
Reklam yükleme
Aşağıdaki kod snippet'lerinde, bir geçiş reklamının nasıl yükleneceği ve reklamın yüklenmesi başarılı veya başarısız olduğunda etkinliklerin nasıl dinleneceği gösterilmektedir.
sürüm 7
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADInterstitialDelegate { var interstitial: GADInterstitial! override func viewDidLoad() { super.viewDidLoad() interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910") interstitial.delegate = self let request = GADRequest() interstitial.load(request) } /// Tells the delegate an ad request succeeded. func interstitialDidReceiveAd(_ ad: GADInterstitial) { print("Interstitial ad loaded.") } /// Tells the delegate an ad request failed. func interstitial(_ ad: GADInterstitial, didFailToReceiveAdWithError error: GADRequestError) { print("Interstitial ad failed to load with error: \(error.localizedDescription)") } }
Objective-C
@import GoogleMobileAds; @import UIKit; @interface ViewController ()@property(nonatomic, strong) GADInterstitial *interstitial; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.interstitial = [[GADInterstitial alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"]; self.interstitial.delegate = self; GADRequest *request = [GADRequest request]; [self.interstitial loadRequest:request]; } /// Tells the delegate an ad request succeeded. - (void)interstitialDidReceiveAd:(GADInterstitial *)ad { NSLog(@"Insterstitial ad loaded."); } /// Tells the delegate an ad request failed. - (void)interstitial:(GADInterstitial *)ad didFailToReceiveAdWithError:(GADRequestError *)error { NSLog(@"Interstitial ad failed to load with error: %@", [error localizedDescription]); }
v8
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADFullScreenContentDelegate { var interstitial: GADInterstitialAd? override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADInterstitialAd.load(withAdUnitID:"ca-app-pub-8123415297019784/4985798738", request: request, completionHandler: { (ad, error) in if let error = error { print("Failed to load interstitial ad with error: \(error.localizedDescription)") return } self.interstitial = ad self.interstitial.fullScreenContentDelegate = self } ) } }
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; self.interstitial.fullScreenContentDelegate = self; }]; }
Görüntülü reklam
sürüm 7
Swift
func showInterstitial() { ... if interstitial.isReady { interstitial.present(fromRootViewController: self) } else { print("Ad wasn't ready") } }
Objective-C
- (void)showInterstitial: { ... if (self.interstitial.isReady) { [self.interstitial presentFromRootViewController:self]; } else { NSLog(@"Ad wasn't ready"); } }
v8
Swift
func showInterstitial() { ... if let ad = interstitial { ad.present(fromRootViewController: self) } else { print("Ad wasn't ready") } }
Objective-C
- (void)showInterstitial: { ... if (self.interstitial) { [self.interstitial presentFromRootViewController:self]; } else { NSLog(@"Ad wasn't ready"); } }
Gösterim reklamı etkinlikleri
Aşağıdaki kod snippet'lerinde, reklamın gösterilmesi (başarılı veya başarısız) ve kapatılması durumlarında geri çağırmaların nasıl işleneceği gösterilmektedir.
sürüm 7
Swift
override func viewDidLoad() { super.viewDidLoad() interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910") interstitial.delegate = self ... } /// Tells the delegate that an interstitial will be presented. func interstitialWillPresentScreen(_ ad: GADInterstitial) { print("Interstitial ad will be presented.") } /// Tells the delegate the interstitial is to be animated off the screen. func interstitialWillDismissScreen(_ ad: GADInterstitial) { print("Interstitial ad will be dismissed.") } /// Tells the delegate the interstitial had been animated off the screen. func interstitialDidDismissScreen(_ ad: GADInterstitial) { print("Interstitial ad dismissed.") } /// Tells the delegate that a user click will open another app /// (such as the App Store), backgrounding the current app. /// /// This is not a reliable callback for an ad click event and is removed in /// version 8. If you wish to listen to an ad causing a user to leave the app, /// use applicationWillResignActive: or sceneWillResignActive: instead. func interstitialWillLeaveApplication(_ ad: GADInterstitial) { print("Interstitial ad will leave application.") }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; self.interstitial = [[GADInterstitial alloc] initWithAdUnitID:"ca-app-pub-3940256099942544/4411468910"]; self.interstitial.delegate = self; ... } /// Tells the delegate that an interstitial will be presented. - (void)interstitialWillPresentScreen:(GADInterstitial *)ad { NSLog(@"Interstitial ad will be presented."); } /// Tells the delegate the interstitial is to be animated off the screen. - (void)interstitialWillDismissScreen:(GADInterstitial *)ad { NSLog(@"Interstitial ad will be dismissed."); } /// Tells the delegate the interstitial had been animated off the screen. - (void)interstitialDidDismissScreen:(GADInterstitial *)ad { NSLog(@"Interstitial ad dismissed."); } /// Tells the delegate that a user click will open another app /// (such as the App Store), backgrounding the current app. /// /// This is not a reliable callback for an ad click event and is removed in /// version 8. If you wish to listen to an ad causing a user to leave the app, /// use applicationWillResignActive: or sceneWillResignActive: instead. - (void)interstitialWillLeaveApplication:(GADInterstitial *)ad { NSLog(@"Interstitial ad will leave application."); }
v8
Swift
override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADInterstitialAd.load(withAdUnitID:"ca-app-pub-8123415297019784/4985798738", request: request, completionHandler: { (ad, error) in if let error = error { print(error.localizedDescription) return } self.interstitial = ad self.interstitial.fullScreenContentDelegate = self } ) } func adDidPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Ad did present full screen content.") } func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { print("Ad failed to present full screen content with error \(error.localizedDescription).") } func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Ad did dismiss full screen content.") }
Objective-C
- (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(@"interstitial:didFailToReceiveAdWithError: %@", [error localizedDescription]) return; } self.interstitial = ad; self.interstitial.fullScreenContentDelegate = self; }]; } - (void)adDidPresentFullScreenContent:(id)ad { NSLog(@"Ad did present full screen content."); } - (void)ad:(id )ad didFailToPresentFullScreenContentWithError:(NSError *)error { NSLog(@"Ad failed to present full screen content with error %@.", [error localizedDescription]); } - (void)adDidDismissFullScreenContent:(id )ad { NSLog(@"Ad did dismiss full screen content."); }
Ödüllü
Reklam yükleme
sürüm 7
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADRewardedAdDelegate { /// The rewarded ad. var rewardedAd: GADRewardedAd? override func viewDidLoad() { super.viewDidLoad() rewardedAd = GADRewardedAd(adUnitID: "ca-app-pub-3940256099942544/1712485313") rewardedAd.delegate = self rewardedAd?.load(GADRequest()) { error in if let error = error { print("Rewarded ad failed to load with error: \(error.localizedDescription)") } else { print("Rewarded ad loaded.") } } } }
Objective-C
@import GoogleMobileAds; @import UIKit; @interface ViewController ()@property(nonatomic, strong) GADRewardedAd *rewardedAd; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.rewardedAd = [[GADRewardedAd alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/1712485313"]; self.rewardedAd.delegate = self; GADRequest *request = [GADRequest request]; [self.rewardedAd loadRequest:request completionHandler:^(GADRequestError * _Nullable error) { if (error) { NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]); } else { NSLog(@"Rewarded ad loaded."); } }]; }
v8
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADFullScreenContentDelegate { /// The rewarded ad. var rewardedAd: GADRewardedAd? override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADRewardedAd.load(withAdUnitID: "ca-app-pub-8123415297019784/9501821136", request: request, completionHandler: { (ad, error) in if let error = error { print("Rewarded ad failed to load with error: \(error.localizedDescription)") return } self.rewardedAd = ad self.rewardedAd?.fullScreenContentDelegate = self } ) } }
Objective-C
@import GoogleMobileAds; @import UIKit; @interface ViewController ()@property(nonatomic, strong) GADRewardedAd *rewardedAd; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADRequest *request = [GADRequest request]; [GADRewardedAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/1712485313" request:request completionHandler:^(GADRewardedAd *ad, NSError *error) { if (error) { NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]); return; } self.rewardedAd = ad; NSLog(@"Rewarded ad loaded."); self.rewardedAd.fullScreenContentDelegate = self; }
Görüntülü reklam ve ödül işleme
Ödüllü reklamlar, kullanıcı ödül kazandığında etkinliği işlemenizi gerektirir. GADRewardedAd
API'nin 7. sürümünde, GADRewardedAdDelegate
protokolünün bir parçası olarak rewardedAd:userDidEarnReward:
uyguluyorsunuz.
8. sürümde, reklamı göstermek için GADUserDidEarnRewardHandler
öğesini uygularsınız.
sürüm 7
Swift
func showRewardedAd() { ... if rewardedAd.isReady { rewardedAd.present(fromRootViewController: self delegate:self) } else { print("Ad wasn't ready") } } /// Tells the delegate that the user earned a reward. func rewardedAd(_ rewardedAd: GADRewardedAd, userDidEarnReward: GADAdReward) { // TODO: Reward the user. }
Objective-C
- (void)showRewardedAd: { ... if (self.rewardedAd.isReady) { [self.rewardedAd presentFromRootViewController:self delegate:self]; } else { NSLog(@"Ad wasn't ready"); } } /// Tells the delegate that the user earned a reward. - (void)rewardedAd:(GADRewardedAd *)rewardedAd userDidEarnReward:(GADAdReward *)reward { // TODO: Reward the user. }
v8
Swift
func showRewardedAd() { ... if let ad = rewardedAd { ad.present(fromRootViewController: self, userDidEarnRewardHandler: { let reward = ad.adReward // TODO: Reward the user. } ) } else { print("Ad wasn't ready") } }
Objective-C
- (void)showRewardedAd: { ... if (self.rewardedAd) { [self.rewardedAd presentFromRootViewController:self userDidEarnRewardHandler:^ { GADAdReward *reward = self.rewardedAd.adReward; // TODO: Reward the user. }]; } else { NSLog(@"Ad wasn't ready"); } }
Gösterim reklamı etkinlikleri
GADRewardedAd
API'si ile reklamı sunan yönteme bir GADRewardedAdDelegate
iletirsiniz. GADRewardedAd
API'siyle, reklamı sunmadan önce reklamda bir
GADFullscreenContentDelegate
ayarlarsınız.
sürüm 7
Swift
func showRewardedAd() { ... if rewardedAd.isReady { rewardedAd.present(fromRootViewController: self delegate:self) } else { print("Ad wasn't ready") } } /// Tells the delegate that the rewarded ad was presented. func rewardedAdDidPresent(_ rewardedAd: GADRewardedAd) { print("Rewarded ad presented.") } /// Tells the delegate that the rewarded ad was dismissed. func rewardedAdDidDismiss(_ rewardedAd: GADRewardedAd) { print("Rewarded ad dismissed.") } /// Tells the delegate that the rewarded ad failed to present. func rewardedAd(_ rewardedAd: GADRewardedAd, didFailToPresentWithError error: Error) { print("Rewarded ad failed to present with error: \(error.localizedDescription).") }
Objective-C
- (void)showRewardedAd: { ... if (self.rewardedAd.isReady) { [self.rewardedAd presentFromRootViewController:self delegate:self]; } else { NSLog(@"Ad wasn't ready"); } } /// Tells the delegate that the rewarded ad was presented. - (void)rewardedAdDidPresent:(GADRewardedAd *)rewardedAd { NSLog(@"Rewarded ad presented."); } /// Tells the delegate that the rewarded ad failed to present. - (void)rewardedAd:(GADRewardedAd *)rewardedAd didFailToPresentWithError:(NSError *)error { NSLog(@"Rewarded ad failed to present with error: %@", [error localizedDescription]); } /// Tells the delegate that the rewarded ad was dismissed. - (void)rewardedAdDidDismiss:(GADRewardedAd *)rewardedAd { NSLog(@"Rewarded ad dismissed."); }
v8
Swift
override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADRewardedAd.load(withAdUnitID: "ca-app-pub-8123415297019784/9501821136", request: request, completionHandler: { (ad, error) in if let error = error { print(error.localizedDescription) return } self.rewardedAd = ad self.rewardedAd?.fullScreenContentDelegate = self } ) } /// Tells the delegate that the rewarded ad was presented. func adDidPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Rewarded ad presented.") } /// Tells the delegate that the rewarded ad was dismissed. func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Rewarded ad dismissed.") } /// Tells the delegate that the rewarded ad failed to present. func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { print("Rewarded ad failed to present with error: \(error.localizedDescription).") }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; GADRequest *request = [GADRequest request]; [GADRewardedAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/1712485313" request:request completionHandler:^(GADRewardedAd *ad, NSError *error) { if (error) { NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]); return; } self.rewardedAd = ad; NSLog(@"Rewarded ad loaded."); self.rewardedAd.fullScreenContentDelegate = self; } /// Tells the delegate that the rewarded ad was presented. - (void)adDidPresentFullScreenContent:(id)ad { NSLog(@"Rewarded ad presented."); } /// Tells the delegate that the rewarded ad failed to present. - (void)ad:(id )ad didFailToPresentFullScreenContentWithError:(NSError *)error { NSLog(@"Rewarded ad failed to present with error: %@", [error localizedDescription]); } /// Tells the delegate that the rewarded ad was dismissed. - (void)adDidDismissFullScreenContent:(id )ad { NSLog(@"Rewarded ad dismissed."); }
Eski GADRewardedBasedVideoAd API'sinin kaldırılması
Daha yeni olan
GADRewardedAd
API ilk olarak Mart 2019'da kullanıma sunulmuş ve 18 aydan uzun süredir tercih edilen ödüllü API olmuştur. Eski GADRewardedBasedVideoAd
API'ye kıyasla daha fazla geliştirme yapılmıştır. Bu geliştirmeler arasında aynı anda birden fazla ödüllü reklam yükleme özelliği de yer alır.
Eski GADRewardedBasedVideoAd
API'si, SDK'nın 8.0.0 sürümünde kaldırıldı.
Akıllı banner'ın uyarlanabilir banner lehine desteğinin sonlandırılması
Akıllı banner reklamlar, uyarlanabilir banner reklamlar lehine kullanımdan kaldırıldı. Uyarlanabilir banner'lar, reklam genişliğini ayarlamada üstün performans ve daha fazla esneklik sağlar. Tam genişlikteki banner'ları kullanmaya devam etmek isterseniz aşağıdaki kod snippet'inde gösterildiği gibi uyarlanabilir banner'ı kullanabilirsiniz:
Swift
class ViewController: UIViewController { override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) // Note: The safe area is not known until viewWillAppear. let adSize = getFullWidthAdaptiveAdSize() } func getFullWidthAdaptiveAdSize() -> GADAdSize { // Here safe area is taken into account, hence the view frame is used after the // view has been laid out. let frame = { () -> CGRect in if #available(iOS 11.0, *) { return view.frame.inset(by: view.safeAreaInsets) } else { return view.frame } }() return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width) } }
Objective-C
@implementation ViewController - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // Note: The safe area is not known until viewWillAppear. GADAdSize adSize = [self getFullWidthAdaptiveAdSize]; } - (GADAdSize)getFullWidthAdaptiveAdSize { CGRect frame = self.view.frame; // Here safe area is taken into account, hence the view frame is used after // the view has been laid out. if (@available(iOS 11.0, *)) { frame = UIEdgeInsetsInsetRect(self.view.frame, self.view.safeAreaInsets); } return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width); } @end
Uygulama geri arama kaldırma isteğini bırakma
willLeaveApplication
Tüm reklam biçimleri için geri çağırma, willLeaveApplication
ve applicationDidEnterBackground:
sceneDidEnterBackground:
yöntemleri lehine kaldırıldı. Kullanıcılar uygulamanızdan ayrıldığında, reklam etkileşiminden kaynaklanıp kaynaklanmadığına bakılmaksızın sizi bilgilendirmek için işletim sistemi düzeyindeki API'leri kullanır.
willLeaveApplication
geri çağırma işlevinin hiçbir zaman reklam tıklaması işleyicisi olarak tasarlanmadığını ve tıklamaları bildirmek için bu geri çağırma işlevinin kullanılmasının doğru bir metrik oluşturmadığını unutmayın. Örneğin, harici bir tarayıcıyı başlatan Reklam Seçenekleri simgesinin tıklanması geri çağırmayı tetikledi ancak tıklama olarak sayılmadı.
Sınıf yeniden adlandırmaları
Aşağıdaki tabloda, 8. sürümde değiştirilen veya kaldırılan belirli sınıf adları listelenmiştir. Özet olarak:
GADUnifiedNativeAd
ile ilgili tüm sınıflarGADNativeAd
olarak yeniden adlandırıldı.GADRewardBasedVideoAd
,GADNativeExpressAdView
veGADInstreamAd
kaldırıldı.DFP
önekine sahip tüm sınıflarGAM
önekiyle değiştirildi.
v7.68.0 Class | v8.0.0 Class |
---|---|
DFPBannerView | GAMBannerView |
DFPBannerViewOptions | GAMBannerViewOptions |
DFPInterstitial | GAMInterstitialAd |
DFPRequest | GAMRequest |
GADRequestError | NSError |
GADUnifiedNativeAdView | GADNativeAdView |
GADUnifiedNativeAd | GADNativeAd |
GADUnifiedNativeAdAssetIdentifiers | GADNativeAdAssetIdentifiers |
GADUnifiedNativeAdDelegate | GADNativeAdDelegate |
GADUnifiedNativeAdUnconfirmedClickDelegate | GADNativeAdUnconfirmedClickDelegate |
GADNativeCustomTemplateAd | GADCustomNativeAd |
GADNativeCustomTemplateAdLoaderDelegate | GADCustomNativeAdLoaderDelegate |
GADNativeAdDelegate | GADCustomNativeAdDelegate |
GADInAppPurchase | Kaldırıldı |
GADInterstitial | GADInterstitialAd |
GADNativeExpressAdView | Kaldırıldı |
GADRewardBasedVideoAd | Kaldırıldı |
GADInstreamAd | Kaldırıldı |
GADInstreamAdView | Kaldırıldı |
Kaldırılan/değiştirilen yöntemler
Aşağıdaki tabloda, 8. sürümdeki belirli değişiklikler listelenmiştir. Özet olarak:
- Daha önce kullanımdan kaldırılan yöntemler ve özellikler kaldırıldı.
- Tüm biçimler için
-willLeaveApplication:
yetkilendirme yöntemi kaldırıldı. - Reklam ağı sınıfı adı,
GADResponseInfo
özelliğine taşındı. - Test cihazı tanımlayıcısı,
GADRequestConfiguration
mülküne taşındı.
v7.68.0 Class | v7.68.0 API | v8.0.0 API | Notlar |
---|---|---|---|
GADMobileAds | +configureWithApplicationID: | -startWithCompletionHandler: | Uygulama kimliği artık Info.plist'te ayarlanmıştır. |
+disableAutomatedInApp |
-disableAutomatedInApp |
||
+disableSDKCrashReporting | -disableSDKCrashReporting | ||
GADRequest | testDevices | GADRequestConfiguration |
testDeviceIdentifiers özelliği tüm reklam istekleri için geçerliyken eski testDevices özelliği istek başına ayarlanıyordu. |
gender | Kaldırıldı | ||
doğum günü | Kaldırıldı | ||
+sdkVersion | GADMobileAds.sharedInstance |
||
-setBirthday |
Kaldırıldı | ||
-setLocationWithDescription: | -setLocationWith |
||
-tagForChildDirectedTreatment: | [GADMobileAds.sharedInstance.requestConfiguration tagForChildDirectedTreatment] | ||
GADErrorCode | kGADError* | GADError* | k öneki tüm hata kodu sabitlerinden kaldırılır.
|
GADBannerView | hasAutoRefreshed | autoloadEnabled | |
inAppPurchaseDelegate | Kaldırıldı | ||
mediatedAdView | Kaldırıldı | ||
adNetworkClassName | responseInfo |
||
DFPBannerView | -setValidAdSizesWithSizes: | -setValidAdSizes: | |
DFPBannerViewOptions | -adSizeDelegate | Kaldırıldı | |
GADBannerViewDelegate | -adViewDidReceiveAd: | -bannerViewDidReceiveAd: | |
-adView:didFailToReceive |
-bannerView:didFailToReceive |
||
-adViewWillPresentScreen: | -bannerViewWillPresentScreen: | ||
-adViewWillDismissScreen: | -bannerViewWillDismissScreen: | ||
-adViewDidDismissScreen: | -bannerViewDidDismissScreen: | ||
-adViewWillLeaveApplication: | Kaldırıldı | ||
GADNativeCustomTemplateAd | templateID | GADCustomNativeAd.formatID | |
-performClickOnAssetWithKey: |
-performClickOnAssetWithKey: | ||
GADNativeAdImageAd |
preferredImageOrientation | GADNativeAdMediaAdOptions |
|
GADInterstitial | inAppPurchaseDelegate | Kaldırıldı | |
isReady | Kaldırıldı | Bunun yerine canPresentFrom |
|
hasBeenUsed | Kaldırıldı | ||
-init | -initWithAdUnitID: | ||
-setAdUnitID: | -initWithAdUnitID: | ||
adNetworkClassName | responseInfo |
||
-interstitialWill |
Kaldırıldı | ||
GADUnifiedNativeAd | videoController | mediaContent.videoController | |
adNetworkClassName | responseInfo |