Bu sayfada, mevcut ve önceki sürümlere yönelik taşıma işlemleri ele alınmaktadır.
v22'den v23'e taşıma
Minimum Android API düzeyi 21'dir.
Google Mobile Ads SDK'sı 23.0.0 sürümünden itibaren, tüm uygulamaların çalışabilmesi için minimum Android API düzeyi 21'i kullanması gerekir. API düzeyini ayarlamak için uygulama düzeyindeki build.gradle
dosyanızdaki minSdkVersion
değerini 21 veya daha yüksek bir değere değiştirin.
Kullanımdan Kaldırılan/Değiştirilen Desteklenmeyen 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şim 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 taşıma
Google Mobile Ads SDK sürümünü almak için MobileAds.getVersion() yöntemini kullanma
MobileAds.getVersionString()
yöntemi, MobileAds.getVersion()
yönteminin lehine 22.0.0 sürümünde kaldırıldı.
Yeni yöntem, beklenen harici sürüm numarasını döndürür (ör. 22.0.0
). 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 | Adaptör |
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
minSdkVersion değerini 19 veya sonraki bir sürüme güncelleyin
Google Mobile Ads SDK'sının 21.0.0 sürümünden itibaren, tüm uygulamaların çalışabilmesi için minimum Android API düzeyi 19'un kullanılması gerekir. API düzeyini ayarlamak için uygulamanızın derleme dosyasında minSdkVersion
değerini 19 veya daha yüksek bir değere değiştirin.
Sıkı boşluk değerini zorunlu kılma
Sıkı boşluk kabul etmeme özelliğinin zorunlu kılınmasına hazırlanırken, daha önce boşluk kabul etmeme özelliğini açıkça tanımlamayan tüm API'lere @NonNull
ek açıklamaları eklendi.
Bu değişiklik, boşluk güvenliği ihlalleri varsa ve daha önce null
değerleri güvenli bir şekilde işlenmemişse Kotlin uygulamalarını ve Java boşluk kontrolü çerçevelerini kullanan uygulamaları bozabilir (Boşluk güvenliğiyle ilgili Kotlin dokümanlarına bakın).
addNetworkExtras() yönteminin kaldırılması
Belirli bir reklam ağı bağdaştırıcısı için NetworkExtras
örneği olarak ek parametreler ileten addNetworkExtras()
yönteminin desteği, SDK 20.3.0 sürümünde sonlandı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. AdRequest
sınıfındakigetLocation()
yöntemi. Daha öncesetLocation(Location location)
yöntemine iletilen kullanıcının 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 reklamları hedeflemek için kullanılmaz. Gerekirse bilgileri üçüncü taraf reklam ağlarına sağlamak için üçüncü taraf API'lerini kullanmanız gerekir.
Özel etkinlik arayüzlerinin desteğinin sonlandırılması
Özel etkinlikler,AdMob Uyumlulaştırması uyumlulaştırmasını kullanan yayıncıların, AdMob'ın desteklenen reklam kaynaklarından biri olmayan bir şelale reklam kaynağı oluşturmasını sağlar.
Tüm özel etkinlik arayüzlerinin desteği sonlandırıldı. Bunun yerine Adapter
sınıfı ve MediationAdLoadCallback
arayüzü kullanılmalıdır.
Aşağıdaki tabloda, 21.0.0 sürümünden itibaren her özel etkinlik arayüzü için kullanılması gereken ilgili sınıf veya arayüz listelenmektedir:
v20.0.0 Arayüzleri | v21.0.0 Sınıf/ Arayüz |
---|---|
CustomEvent | Adaptör |
CustomEventBanner | |
CustomEventInterstitial | |
CustomEventNative | |
CustomEventBannerListener |
Adapter,
|
CustomEventInterstitialListener | |
CustomEventListener | |
CustomEventNativeListener |
19 sürümünden 20 sürümüne taşıma
20.0.0 sürümünde birçok önemli değişiklik vardır. 19.7.0 sürümü birçok yeni API'yi kullanıma sundu ve 20.0.0 sürümüne hazırlanmak için birçok sınıfın desteğini sonlandırdı veya sınıfları yeniden adlandırdı. 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 uymak için 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ğırma veya işleyici mekanizması
- Sunum geri çağırmaları için
FullScreenContentCallback
sınıfından yararlanma
Eski RewardedVideoAd API'sinin kaldırılması
Mart 2019'da kullanıma sunulan daha yeni RewardedAd
API, 18 aydan uzun süredir tercih edilen ödüllü API'dir. Aynı anda birden fazla ödüllü reklam yükleme özelliği de dahil olmak üzere eski RewardedVideoAd
API'ye kıyasla daha fazla iyileştirmeye sahiptir.
Eski RewardedVideoAd
API'si, SDK 20.0.0 sürümünde kaldırılmıştır.
Akıllı banner'ın kullanımdan kaldırılması ve uyarlanabilir banner'ın kullanıma sunulması
Akıllı banner reklamların desteği sonlandırılarak uyarlanabilir banner reklamlara geçiş yapılıyor. Uyarlanabilir banner'lar, reklam genişliğini belirleme konusunda üstün performans ve daha fazla esneklik sağlar. Tam genişlikli banner'ları kullanmaya devam etmek istiyorsanız bunu aşağıdaki kod snippet'inde gösterildiği gibi uyarlanabilir banner'ı kullanarak da yapabilirsiniz:
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) } }
Leave application callback removal
Tüm reklam biçimleri için onAdLeftApplication
geri çağırma işlevi, ProcessLifecycleOwner
için kaldırıldı.
İşletim sistemi düzeyinde bir API kullanmak, kullanıcılar uygulamanızdan ayrıldığında (reklam etkileşiminden kaynaklanıp kaynaklanmadığına bakılmaksızın) 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ğırmaya güvenmenin doğru bir metrik oluşturmadığını unutmayın. Örneğin, harici bir tarayıcı başlatan Reklam Seçenekleri simgesinin tıklanması geri çağırma işlevini tetikler ancak tıklama olarak sayılmaz.
Sınıf yeniden adlandırmaları
Aşağıdaki tabloda, değişen veya kaldırılan belirli sınıf adları listelenmiştir. Özet olarak:
UnifiedNativeAd
ile ilgili çoğu sınıfNativeAd
olarak yeniden adlandırıldı.MobileAds.Settings
,NativeExpressAdView
,NativeAppInstallAd
,NativeContentAd
veInstreamAd
sınıfları ve görünümleri kaldırıldı.Publisher
ön ekiyle başlayan tüm sınıflarAdManager
ön ekiyle değiştirildi.InterstitialAd
paket adı değişti.
19.5.0 Sınıfı | 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ı |
Arayüz AdRequest.TagForUnderAgeOfConsent | Kaldırıldı |
AdRequest.MaxAdContentRating arayüzü | 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 değişiklikler listelenmiştir. Özet olarak:
- 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.
- Korrelatörler ö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'de ayarlanmıştır. |
initialize(Context, String, MobileAds.Settings) | initialize(Context, OnInitializationComplete |
Settings sınıfının desteği sonlandı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'da 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 konusuna bakın. | |
AdRequest.Builder | setBirthday() | Kaldırıldı | |
setGender() | Kaldırıldı | ||
setIsDesignedForFamilies() | Kaldırıldı | Kılavuzu inceleyin. | |
addTestDevice() | RequestConfiguration |
Test reklamlarını etkinleştirme başlıklı makaleyi inceleyin. | |
tagForChildDirectedTreatment() | RequestConfiguration |
Reklam içeriğini filtreleme konusuna bakın. | |
setTagFor |
RequestConfiguration |
||
setMaxAdContentRating() | RequestConfiguration |
||
AdView | getMediationAdapter |
ResponseInfo |
ResponseInfo nesnesi artık AdView yöntemi getResponseInfo() aracılığıyla kullanılabilir. |
NativeAdOptions | setImageOrientation() | setMediaAspectRatio() | |
getImageOrientation | getMediaAspectRatio() | ||
RewardedAd | loadAd(AdRequest, RewardedAdLoadCallback) | RewardedAd.load(Context, String, AdRequest, RewardedAdLoadCallback) | RewardedAd 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 işlevi, zaten yüklenmiş bir reklam sağlar. | |
show(Activity, RewardedAdCallback) | show(Activity, OnUserEarnedRewardListener) | Bu gösterme yöntemi, daha geniş tam ekran biçimi yaklaşımına uyar. | |
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ı için destek sonlandırıldı. |
AdLoader | forContentAd() | Kaldırıldı | |
forAppInstallAd() | Kaldırıldı | ||
withCorrelator() | Kaldırıldı | ||
getMediationAdapter |
Kaldırıldı |