Bu sayfada, mevcut ve önceki sürümler için yapılan taşımalar ele alınmaktadır.
v23'ten v24'e taşıma
Aşağıdaki alt bölümlerde, Google Mobile Ads SDK'sının 23. ve 24. ana sürümleri arasındaki davranış farklılıkları ve uyumluluğu bozan değişiklikler açıklanmaktadır.
Minimum Android API düzeyi 23 olmalıdır.
Google Mobile Ads SDK'sı, 24.0.0 sürümünden itibaren tüm uygulamaların çalışması için minimum Android API düzeyi 23'ü gerektirir. API düzeyini ayarlamak için uygulama düzeyindeki build.gradle
dosyanızda minSdk
değerini 23 veya daha yüksek bir değere değiştirin.
Optimize edilmiş başlatma ve yükleme ile ilgili değişiklikler
Varsayılan olarak, OPTIMIZE_INITIALIZATION
ve OPTIMIZE_AD_LOADING
işaretleri true
olarak ayarlanır. Bu işaretler hakkında daha fazla bilgi için Başlatma ve yükleme işlemlerini optimize etme başlıklı makaleyi inceleyin.
firebase-ads ve firebase-ads-lite bağımlılıkları kaldırıldı
SDK sürümleri, 24.0.0 sürümünden itibaren firebase-ads
ve firebase-ads-lite
bağımlılıklarını dağıtmaz. Bunun yerine play-services-ads
bağımlılığını kullanın.
Uygulama açılış reklamları için kullanımdan kaldırılan yönlendirme API'leri kaldırıldı.
- Yön girişi parametresini kabul eden
AppOpenAd.load()
yöntemleri kaldırıldı. Bunun yerine yön almayanAppOpenAd.load()
yöntemlerini kullanın. AppOpenAdOrientation
enum'u kaldırıldı.
Uyumlulaştırma bağdaştırıcıları için basitleştirilmiş ödül geri çağırma
24.0.0 sürümünde onUserEarnedReward()
geri çağırma işlevi MediationRewardedAdCallback
içine ekleniyor ve onUserEarnedReward(RewardItem)
kullanımdan kaldırılıyor.
Kullanıcı ödül kazandığında arabuluculuk bağdaştırıcıları onUserEarnedReward()
işlevini çağırmaya başlamalıdır.
Aracılık bağdaştırıcılarından geri çağırmalar yönlendirilirken tüm Google Mobile Ads SDK sürümleri, AdMob kullanıcı arayüzünde OnUserEarnedRewardListener
içinde tanımlanan ödülü döndürür.
Sınıflar kaldırıldı
Aşağıdaki sınıflar, yerine başka sınıf eklenmeden kaldırıldı:
DynamicHeightSearchAdRequest
SearchAdRequest
SearchAdView
Yöntemler kaldırıldı
Aşağıdaki yöntemler yerine başka bir yöntem eklenmeden kaldırıldı:
Sınıf | Yöntem |
---|---|
RewardedInterstitialAdLoadCallback | onRewardedInterstitialAdLoaded() |
onRewardedInterstitialAdFailedToLoad(int) |
|
onRewardedInterstitialAdFailedToLoad(LoadAdError) |
Kullanımdan kaldırılan yöntemler
Aşağıdaki yöntemler, yerine başka bir yöntem sunulmadan kullanımdan kaldırıldı:
Sınıf | Yöntem |
---|---|
Uyarlayıcı | loadInterscrollerAd() |
RtbAdapter | loadRtbInterscrollerAd() |
v22'den v23'e taşıma
Aşağıdaki alt bölümlerde, Google Mobile Ads SDK'sının 22. ve 23. ana sürümleri arasındaki davranış farklılıkları ve uyumluluğu bozan değişiklikler açıklanmaktadır.
Minimum Android API düzeyi 21 olmalıdır.
Google Mobile Ads SDK'sı, 23.0.0 sürümünden itibaren tüm uygulamaların çalışması için minimum Android API düzeyi 21 olmasını gerektirir. API düzeyini ayarlamak için uygulama düzeyindeki build.gradle
dosyanızda minSdkVersion
değerini 21 veya daha yüksek bir değere değiştirin.
Kullanımdan kaldırılan/değiştirilen yöntemler
v22.0.0 API | v23.0.0 API |
---|---|
AdRequest.Builder.addTestDevice() | RequestConfiguration.Builder.setTestDeviceIds() |
AdRequest.Builder.tagForChildDirectedTreatment() | RequestConfiguration.Builder.setTagForChildDirectedTreatment() |
AdRequest.Builder.setIsDesignedForFamilies() | RequestConfiguration.Builder.setMaxAdContentRating() |
AdFormat.UNKNOWN | Değiştirme yok |
AdLoader.Builder.forUnifiedNativeAd() | AdLoader.Builder.forNativeAd() |
AdLoader.Builder.forCustomTemplateAd() | AdLoader.Builder.forCustomFormatAd() |
AdLoader.Builder.withNativeAdOptions(com.google.android.gms.ads.formats .NativeAdOptions)
|
AdLoader.Builder.withNativeAdOptions(com.google.android.gms.ads.nativead .NativeAdOptions)
|
void MobileAds.setSameAppKeyEnabled() | boolean MobileAds.putPublisherFirstPartyIdEnabled() |
v21'den v22'ye geçiş
Aşağıdaki alt bölümlerde, Google Mobile Ads SDK'sının 21. ve 22. ana sürümleri arasındaki davranış farklılıkları ve uyumluluğu bozan değişiklikler açıklanmaktadır.
Google Mobile Ads SDK sürümünü almak için MobileAds.getVersion() yöntemini kullanın.
MobileAds.getVersionString()
yöntemi, MobileAds.getVersion()
lehine 22.0.0 sürümünde kaldırıldı.
Yeni yöntem, beklenen harici sürüm numarasını (örneğin,
22.0.0
) döndürür. Bu değişiklik hakkında daha fazla bilgi için Yeni Google Mobile Ads SDK'sı getVersion()
yöntemini kullanma başlıklı makaleyi inceleyin.
Kaldırılan veya değiştirilen yöntemler
Aşağıdaki tabloda 22.0.0 sürümündeki değişiklikler listelenmiştir:
v21.0.0 | v22.0.0 |
---|---|
MobileAds.getVersionString() | MobileAds.getVersion() |
NativeCustomFormatAd.getVideoMediaView() | NativeCustomFormatAd.getMediaContent() |
NativeCustomFormatAd.getVideoController() | NativeCustomFormatAd.getMediaContent().getVideoController() |
AdRequest.Builder.setAdInfo() | AdRequest.Builder.setAdString() |
MediationRewardedVideoAdAdapter | Adapter |
MediationRewardedVideoAdListener | |
com.google.android.gms.ads.mediation.VersionInfo | com.google.android.gms.ads.VersionInfo |
com.google.android.gms.ads.doubleclick.AppEventListener | com.google.android.gms.ads.admanager.AppEventListener |
v20'den v21'e taşıma
Aşağıdaki alt bölümlerde, Google Mobile Ads SDK'sının 20. ve 21. ana sürümleri arasındaki davranış farklılıkları ve uyumluluğu bozan değişiklikler açıklanmaktadır:
minSdkVersion'ı 19 veya sonraki bir sürüme güncelleyin
Google Mobile Ads SDK'sının 21.0.0 sürümünden itibaren, çalışması için tüm uygulamaların minimum Android API düzeyi 19'da olması gerekir. API düzeyini ayarlamak için uygulamanızın derleme dosyasındaki minSdkVersion
değerini 19 veya daha yüksek bir değerle değiştirin.
Kesin boş değer kabul etmeme özelliğini zorunlu kılma
Kesin boş değer kabul edilebilirliğinin zorunlu kılınmasına hazırlık olarak, daha önce boş değer kabul edilebilirliği açıkça tanımlanmamış olan tüm API'lere @NonNull
ek açıklamaları eklendi.
Bu değişiklik, boş güvenlik ihlalleri varsa ve daha önce null
değerleri güvenli bir şekilde işlenmediyse Kotlin uygulamalarını ve Java boşluk kontrolü çerçevelerini kullanan uygulamaları bozabilir (Boş güvenlik ile ilgili Kotlin belgelerine bakın).
addNetworkExtras() yönteminin kaldırılması
Ek parametreleri belirli bir reklam ağı bağdaştırıcısına addNetworkExtras()
örneği olarak ileten NetworkExtras
yöntemi, SDK'nın 20.3.0 sürümünde kullanımdan kaldırıldı ve 21.0.0 sürümünde kaldırılacak. Bunun yerine aynı AdRequest.Builder
sınıfındaki
addNetworkExtrasBundle()
yöntemini kullanın.
Konum yöntemlerinin kaldırılması
Aşağıdaki konum yöntemleri 21.0.0 sürümünde kaldırılacak:
- Uyumlulaştırma hedefleme amacıyla kullanıcının konumunu ayarlayan
AdRequest.Builder
sınıfındakisetLocation(Location location)
yöntemi. getLocation()
sınıfındakiAdRequest
yöntemi, kullanıcının daha öncesetLocation(Location location)
yöntemine iletilen konum hedefleme bilgilerini döndürür.AdRequest
tarafından tanımlanmışsa kullanıcının konumunu döndürenMediationAdConfiguration
sınıfındakigetLocation()
yöntemi.
Konum verileri, Google tarafından reklam hedeflemek için kullanılmaz. Gerekirse üçüncü taraf reklam ağlarına bilgi sağlamak için üçüncü taraf API'lerini kullanmanız gerekir.
Özel etkinlik arayüzlerinin desteği sonlandırılıyor
Özel etkinlikler, AdMob uyumlulaştırmasını kullanan yayıncıların AdMob desteklenen reklam kaynaklarından biri olmayan bir şelale reklam kaynağı oluşturmasına olanak tanır.
Tüm özel
etkinlik
arayüzleri, Adapter
sınıfı ve MediationAdLoadCallback
arayüzü lehine kullanımdan kaldırıldı.
Aşağıdaki tabloda, 21.0.0 sürümünden itibaren her özel etkinlik arayüzü için kullanmanız gereken ilgili sınıf veya arayüz listelenmiştir:
v20.0.0 Arabirimleri | v21.0.0 Sınıfı/ Arayüzü |
---|---|
CustomEvent | Adapter |
CustomEventBanner | |
CustomEventInterstitial | |
CustomEventNative | |
CustomEventBannerListener |
Adapter,
|
CustomEventInterstitialListener | |
CustomEventListener | |
CustomEventNativeListener |
v19'dan v20'ye taşıma
20.0.0 sürümünde birçok zarar veren değişiklik var. 19.7.0 sürümünde birçok yeni API kullanıma sunuldu ve 20.0.0 sürümüne hazırlık olarak birçok sınıf kullanımdan kaldırıldı veya yeniden adlandırıldı. Bu kılavuzda, 20.0.0 sürümündeki önemli değişiklikler vurgulanmaktadır.
Tam ekran biçimi API güncellemeleri
20.0.0 sürümünden itibaren geçiş reklamı, ödüllü reklam, ödüllü geçiş reklamı ve uygulama açılışı reklam biçimleri, tutarlı bir API tasarımına uygun olacak şekilde standartlaştırılmıştır.
Tüm tam ekran biçimi API'leri aşağıdaki ilkeleri kullanır:
- Statik yükleme yöntemi
- Benzer bir yükleme geri çağırması veya işleyici mekanizması
- Sunum geri çağırmaları için
FullScreenContentCallback
sınıfına güvenme
Eski RewardedVideoAd API'sinin kaldırılması
Daha yeni olan
RewardedAd
API ilk olarak Mart 2019'da kullanıma sunulmuş ve 18 aydan uzun süredir tercih edilen ödüllü API olmuştur. Aynı anda birden fazla ödüllü reklam yükleme özelliği de dahil olmak üzere eski RewardedVideoAd
API'ye kıyasla daha fazla geliştirme yapılmıştır.
Eski RewardedVideoAd
API'si, SDK'nın 20.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:
Java
public class MyActivity extends AppCompatActivity { ... private AdSize getFullWidthAdaptiveSize() { Display display = getWindowManager().getDefaultDisplay(); DisplayMetrics outMetrics = new DisplayMetrics(); display.getMetrics(outMetrics); float widthPixels = outMetrics.widthPixels; float density = outMetrics.density; int adWidth = (int) (widthPixels / density); return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth); } }
Kotlin
class MyActivity : AppCompatActivity() { ... private val adaptiveAdSize: AdSize get() { val display = windowManager.defaultDisplay val outMetrics = DisplayMetrics() display.getMetrics(outMetrics) val density = outMetrics.density var adWidthPixels = ad_view_container.width.toFloat() if (adWidthPixels == 0f) { adWidthPixels = outMetrics.widthPixels.toFloat() } val adWidth = (adWidthPixels / density).toInt() return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth) } }
Uygulama geri arama kaldırma isteğini bırakma
ProcessLifecycleOwner
lehine tüm reklam biçimleri için onAdLeftApplication
geri çağırma kaldırıldı.
İşletim sistemi düzeyinde bir API kullanmak, reklam etkileşiminden kaynaklanıp kaynaklanmadığına bakılmaksızın kullanıcılar uygulamanızdan ayrıldığında sizi bilgilendirir.
onAdLeftApplication
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, değiştirilen veya kaldırılan belirli sınıf adları listelenmiştir:
UnifiedNativeAd
ile ilgili çoğu sınıfın adıNativeAd
olarak değiştirildi.MobileAds.Settings
,NativeExpressAdView
,NativeAppInstallAd
,NativeContentAd
veInstreamAd
sınıfları ve görünümleri kaldırıldı.Publisher
önekine sahip tüm sınıflarAdManager
önekiyle değiştirildi.InterstitialAd
paket adı değişti.
19.5.0 Class | 20.0.0 Sınıfı |
---|---|
com.google.android.gms.ads. | com.google.android.gms.ads. |
reward.RewardedVideoAd | rewarded.RewardedAd |
reward.RewardedVideoAdListener | rewarded.RewardedAdLoadCallback ve FullScreenContentCallback |
reward.RewardItem | rewarded.RewardItem |
rewarded.RewardedAdCallback | OnUserEarnedRewardListener |
formats.UnifiedNativeAdView | nativead.NativeAdView |
formats.UnifiedNativeAd | nativead.NativeAd |
formats.UnifiedNativeAdAssetNames | nativead.NativeAdAssetNames |
formats.UnifiedNativeAd.OnUnifiedNativeAdLoadedListener | nativead.NativeAd.OnNativeAdLoadedListener |
formats.AdChoicesView | nativead.AdChoicesView |
formats.NativeAd.AdChoicesInfo | nativead.NativeAd.AdChoicesInfo |
formats.MediaView | nativead.MediaView |
formats.NativeAdViewHolder | nativead.NativeAdViewHolder |
formats.NativeAdOptions | nativead.NativeAdOptions |
formats.NativeCustomTemplateAd | nativead.NativeCustomFormatAd |
formats.NativeCustomTemplateAd |
nativead.NativeCustomFormatAd |
MobileAds.Settings | Kaldırıldı |
doubleclick.PublisherAdRequest | admanager.AdManagerAdRequest |
doubleclick.PublisherAdView | admanager.AdManagerAdView |
formats.PublisherAdViewOptions | formats.AdManagerAdViewOptions |
doubleclick.PublisherInterstitialAd | admanager.AdManagerInterstitialAd |
InterstitialAd | interstitial.InterstitialAd |
NativeExpressAdView | Kaldırıldı |
instream.InstreamAd | Kaldırıldı |
mediation.admob.AdMobExtras | Kaldırıldı |
İlişkilendirici | Kaldırıldı |
search.SearchAdRequest | Kaldırıldı |
Interface AdRequest.TagForUnderAgeOfConsent | Kaldırıldı |
Interface AdRequest.MaxAdContentRating | Kaldırıldı |
formats.NativeAppInstallAd | native.NativeAd |
formats.NativeAppInstallAdView | native.NativeAdView |
mediation.NativeAppInstallAdMapper | mediation.UnifiedNativeAdMapper |
formats.NativeContentAd | native.NativeAd |
formats.NativeContentAdView | native.NativeAdView |
mediation.NativeContentAdMapper | mediation.UnifiedNativeAdMapper |
Kaldırılan/değiştirilen yöntemler
Aşağıdaki tabloda 20.0.0 sürümündeki belirli değişiklikler listelenmiştir:
- Eski başlatma yöntemleri MobileAds sınıfından kaldırıldı.
AdRequest.Builder()
sınıfındaki bazı yöntemler kaldırıldı veyaRequestConfiguration
sınıfına taşındı.- RewardedAd ve InterstitialAd API'leri, tüm tam ekran biçimleriyle uyumlu olacak şekilde güncellendi.
- Korelasyon özellikleri kaldırıldı.
Sınıf | v19.5.0 API | v20.0.0 API | Notlar |
---|---|---|---|
AdSize | getPortraitBanner |
getPortraitAnchored |
|
getLandscapeBanner |
getLandscapeAnchored |
||
getCurrentOrientation |
getCurrentOrientationAnchored |
||
MobileAds | initialize(Context, String) | MobileAds.initialize(Context, OnInitializationComplete |
Uygulama kimliği artık AndroidManifest.xml dosyasında ayarlanmıştır. |
initialize(Context, String, MobileAds.Settings) | initialize(Context, OnInitializationComplete |
Ayarlar sınıfı kullanımdan kaldırıldı. | |
getRewardedVideo |
Kaldırıldı | Bunun yerine RewardedAd API'yi kullanın. | |
AdListener | onAdFailedToLoad(int) | onAd |
|
onAdLeftApplication() | Kaldırıldı | Tam ekran reklam biçimleri AdListener yerine FullscreenContentCallback kullanır ve FullscreenContentCallback'te eşdeğer bir yöntem yoktur. Yöntem, AdListener'dan kaldırıldı. | |
VideoController | getAspectRatio() | MediaContent.getAspectRatio() | |
AdRequest | getGender() | Kaldırıldı | |
getBirthday() | Kaldırıldı | ||
getNetworkExtras() | Kaldırıldı | ||
setManualImpressions |
Kaldırıldı | ||
updateCorrelator() | Kaldırıldı | Reklam içeriğini filtreleme başlıklı makaleyi inceleyin. | |
AdRequest.Builder | setBirthday() | Kaldırıldı | |
setGender() | Kaldırıldı | ||
setIsDesignedForFamilies() | Kaldırıldı | Kılavuza bakın. | |
addTestDevice() | RequestConfiguration |
Test reklamlarını etkinleştirme başlıklı makaleyi inceleyin. | |
tagForChildDirectedTreatment() | RequestConfiguration |
Reklam içeriğini filtreleme başlıklı makaleyi inceleyin. | |
setTagFor |
RequestConfiguration |
||
setMaxAdContentRating() | RequestConfiguration |
||
AdView | getMediationAdapter |
ResponseInfo |
ResponseInfo nesnesi, AdView yöntemi kullanılarak kullanılabilir, getResponseInfo() .
|
NativeAdOptions | setImageOrientation() | setMediaAspectRatio() | |
getImageOrientation | getMediaAspectRatio() | ||
RewardedAd | loadAd(AdRequest, RewardedAdLoadCallback) | RewardedAd.load(Context, String, AdRequest, RewardedAdLoadCallback) | Ödüllü reklam artık diğer tam ekran biçimleriyle aynı statik yükleme yaklaşımını kullanıyor. |
loadAd(PublisherAdRequest, RewardedAdLoadCallback) | RewardedAd.load(Context, String, AdManagerAdRequest, RewardedAdLoadCallback) | ||
isLoaded() | Kaldırıldı | Statik yükleme yönteminden gelen geri çağırma, zaten yüklenmiş bir reklam sağlar. | |
show(Activity, RewardedAdCallback) | show(Activity, OnUserEarnedRewardListener) | Bu gösterme yöntemi, daha geniş olan tam ekran biçimi yaklaşımına uygundur. | |
RewardedAdLoadCallback | onRewardedAd |
onAd |
|
onRewardedAd |
onAd |
||
onRewardedAdLoaded() | onAdLoaded(RewardedAd) | ||
AppOpenAdLoadCallback | onAppOpenAd |
onAd |
|
onAppOpenAd |
onAd |
||
onAppOpenAd |
onAdLoaded(AppOpenAd) | ||
RewardedInterstitialAdLoad |
onRewardedInterstitialAd |
onAd |
|
onRewardedInterstitialAd |
onAd |
||
onRewardedInterstitialAd |
onAd |
||
InterstitialAd | new InterstitialAd() | InterstitialAd.load(Context, String, AdRequest, InterstitialAdLoadCallback) | InterstitialAd artık diğer tam ekran biçimleriyle aynı statik yükleme yaklaşımını kullanıyor. |
setAdListener() | |||
DynamicHeightSearchAd |
getNetworkExtras() | Kaldırıldı | NetworkExtras sınıfının desteği sonlandırıldı. |
AdLoader | forContentAd() | Kaldırıldı | |
forAppInstallAd() | Kaldırıldı | ||
withCorrelator() | Kaldırıldı | ||
getMediationAdapter |
Kaldırıldı |