SDK Taşıma

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ındaki setLocation(Location location) yöntemi.
  • AdRequest sınıfındaki getLocation() yöntemi. Daha önce setLocation(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üren MediationAdConfiguration sınıfındaki getLocation() 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, MediationAdLoadCallback
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ıf NativeAd olarak yeniden adlandırıldı.
  • MobileAds.Settings, NativeExpressAdView, NativeAppInstallAd, NativeContentAd ve InstreamAd sınıfları ve görünümleri kaldırıldı.
  • Publisher ön ekiyle başlayan tüm sınıflar AdManager ö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.OnCustomTemplateAdLoadedListener nativead.NativeCustomFormatAd.OnCustomFormatAdLoadedListener
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ı veya RequestConfiguration 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 getPortraitBannerAdSizeWithWidth() getPortraitAnchoredAdaptiveBannerAdSize()
getLandscapeBannerAdSizeWithWidth() getLandscapeAnchoredAdaptiveBannerAdSize()
getCurrentOrientationBannerAdSizeWithWidth() getCurrentOrientationAnchoredAdaptiveBannerAdSize()
MobileAds initialize(Context, String) MobileAds.initialize(Context, OnInitializationCompleteListener) Uygulama kimliği artık AndroidManifest.xml'de ayarlanmıştır.
initialize(Context, String, MobileAds.Settings) initialize(Context, OnInitializationCompleteListener) Settings sınıfının desteği sonlandırıldı.
getRewardedVideoAdInstance() Kaldırıldı Bunun yerine RewardedAd API'yi kullanın.
AdListener onAdFailedToLoad(int) onAdFailedToLoad(LoadAdError)
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ı
setManualImpressionsEnabled() 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.Builder.setTestDeviceIds() Test reklamlarını etkinleştirme başlıklı makaleyi inceleyin.
tagForChildDirectedTreatment() RequestConfiguration.Builder.setTagForChildDirectedTreatment() Reklam içeriğini filtreleme konusuna bakın.
setTagForUnderAgeOfConsent() RequestConfiguration.Builder.setTagForUnderAgeOfConsent()
setMaxAdContentRating() RequestConfiguration.Builder.setMaxAdContentRating()
AdView getMediationAdapterClassName() ResponseInfo.getMediationAdapterClassName() 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 onRewardedAdFailedToLoad(int) onAdFailedToLoad(LoadAdError)
onRewardedAdFailedToLoad(LoadAdError) onAdFailedToLoad(LoadAdError)
onRewardedAdLoaded() onAdLoaded(RewardedAd)
AppOpenAdLoadCallback onAppOpenAdFailedToLoad(int) onAdFailedToLoad(LoadAdError)
onAppOpenAdFailedToLoad(LoadAdError) onAdFailedToLoad(LoadAdError)
onAppOpenAdLoaded(AppOpenAd) onAdLoaded(AppOpenAd)
RewardedInterstitialAdLoadCallback onRewardedInterstitialAdFailedToLoad(int) onAdFailedToLoad(LoadAdError)
onRewardedInterstitialAdFailedToLoad(LoadAdError) onAdFailedToLoad(LoadAdError)
onRewardedInterstitialAdLoaded(RewardedInterstitialAd) onAdLoaded(RewardedInterstitialAd)
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()
DynamicHeightSearchAdRequest 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ı
getMediationAdapterClassName() Kaldırıldı