SDK Taşıma

Bu sayfada mevcut ve önceki sürümlerle ilgili taşıma işlemleri ele alınmaktadır.

v22'den v23'e geçiş

Minimum Android API düzeyi 21'dir

Google Mobile Ads SDK'sının 23.0.0 sürümünden itibaren, tüm uygulamaların en az Android API düzeyi 21 üzerinde olması gerekmektedir. API seviyesini ayarlamak için uygulama düzeyindeki build.gradle dosyanızdaki minSdkVersion değerini 21 veya daha yüksek bir değer olarak değiştirin.

Kullanımdan Kaldırılan Yöntemler Kaldırıldı/Değiştirildi

sürüm 22.0.0 API'sı sürüm 23.0.0 API'sı
AdRequest.Builder.addTestDevice() RequestConfiguration.Builder.setTestDeviceIds()
AdRequest.Builder.tagForChildDirectedTreatment() RequestConfiguration.Builder.setTagForChildDirectedTreatment()
AdRequest.Builder.setIsDesignedForFamilies() RequestConfiguration.Builder.setMaxAdContentRating()
AdFormat.UNKNOWN Değişim yapılamaz
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ş

Google Mobile Ads SDK'sı sürümünü almak için MobileAds.getVersion() işlevini kullanın

22.0.0 sürümünde MobileAds.getVersionString() yöntemi kaldırılarak yerine MobileAds.getVersion() uygulanır.

Yeni yöntem, beklenen harici sürüm numarasını döndürür (örneğin, 22.0.0). Bu değişiklik hakkında daha fazla bilgi edinmek için Yeni Google Mobile Ads SDK'sı getVersion() yöntemini kullanma bölümüne bakın.

Kaldırılmış veya değiştirilen yöntemler

Aşağıdaki tabloda, 22.0.0 sürümündeki belirli 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 Bağdaştırıcı
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 geçiş

minSdkVersion'ı 19 veya sonraki bir sürüme güncelleyin

21.0.0 sürümünden itibaren, Google Mobile Ads SDK'sı tüm uygulamaların en az Android API düzeyi 19 üzerinde olmasını gerektirir. API seviyesini ayarlamak için uygulamanızın derleme dosyasındaki minSdkVersion değerini 19 veya daha yüksek bir değer olarak değiştirin.

Katı null kullanılabilirliği zorunlu kıl

Katı null kullanılabilirliği uygulamaya hazırlanırken, daha önce açık bir şekilde boş değer atanmamış tüm API'lere @NonNull ek açıklamaları eklenir.

Boş güvenlik ihlalleri varsa ve null değerlerini daha önce güvenli bir şekilde işlemediyse bu değişiklik, Java boş denetimi çerçevelerini kullanan Kotlin uygulamalarını ve uygulamalarını bozabilir (Null-safety ile ilgili Kotlin dokümanlarına bakın).

addNetworkExtras() yönteminin kaldırılması

Ekstra parametreleri belirli bir reklam ağı bağdaştırıcısına NetworkExtras örneği olarak geçiren addNetworkExtras() yöntemi, SDK 20.3.0 sürümünde kullanımdan kaldırılmıştır ve 21.0.0 sürümünde kaldırılacaktır. Bunun yerine, aynı AdRequest.Builder sınıfındaki addNetworkExtrasBundle() yöntemini kullanın.

Konum yöntemlerini kaldırma

Aşağıdaki konum yöntemleri 21.0.0 sürümünde kaldırılacaktır:

  • Uyumlulaştırma hedefleme amaçları için kullanıcının konumunu ayarlayan AdRequest.Builder sınıfındaki setLocation(Location location) yöntemi.
  • Kullanıcının daha önce setLocation(Location location) yöntemine iletilen konum hedefleme bilgilerini döndüren AdRequest sınıfındaki getLocation() yöntemi.
  • AdRequest ile tanımlanırsa MediationAdConfiguration sınıfında kullanıcının konumunu döndüren getLocation() yöntemi.

Konum verileri Google tarafından reklam hedeflemesi amacıyla kullanılmaz. Gerekirse üçüncü taraf reklam ağlarına bilgi sağlamak için üçüncü taraf API'lerini kullanmalısınız.

Özel etkinlik arayüzlerinin kullanımdan kaldırılması

Özel etkinlikler, uyumlulaştırmayı kullanan AdMob yayıncıların AdMobdesteklenen reklam ağlarından biri olmayan bir reklam ağı için şelale uyumlulaştırması eklemesini sağlar.

Tüm özel etkinlik arayüzleri kullanımdan kaldırılmıştır. Bunun yerine Adapter sınıfı ve MediationAdLoadCallback arayüzü kullanıma sunulmuştur.

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:

Sürüm 20.0.0 Arayüzleri Sürüm 21.0.0 Sınıfı/ Arayüz
CustomEvent Bağdaştırıcı
CustomEventBanner
CustomEventInterstitial
CustomEventNative
CustomEventBannerListener Bağdaştırıcı, MediationAdLoadCallback
CustomEventInterstitialListener
CustomEventListener
CustomEventNativeListener

v19'dan v20'ye geçiş

20.0.0 sürümünde çok sayıda zarar veren değişiklik var. 19.7.0 sürümü birçok yeni API sundu ve 20.0.0 sürümüne hazırlık amacıyla birçok sınıfı kullanımdan kaldırdı veya yeniden adlandırdı. Bu kılavuzda, 20.0.0 sürümündeki önemli değişiklikler vurgulanmaktadır.

Tam ekran biçimindeki API güncellemeleri

20.0.0 sürümünden itibaren geçiş reklamı, ödüllü, ödüllü geçiş reklamı ve Uygulama Açılış reklamı biçimleri, tutarlı bir API tasarımına uygun olacak şekilde standart hale getirilmiştir.

Tüm tam ekran biçimli API'ler aşağıdaki prensipleri kullanır:

  • Statik yükleme yöntemi
  • Benzer bir yük geri çağırma veya işleyici mekanizması
  • Sunum geri çağırma işlevleri için FullScreenContentCallback sınıfına güvenme

Eski Ödüllü VideoAd API'sinin kaldırılması

Yeni RewardedAd API, ilk olarak Mart 2019'da kullanıma sunuldu ve 18 aydan uzun süredir tercih edilen ödüllü API oldu. Tek seferde birden fazla ödüllü reklam yükleme yeteneği de dahil olmak üzere eski RewardedVideoAd API'sine kıyasla daha fazla geliştirme yapıldı.

Eski RewardedVideoAd API, SDK 20.0.0 sürümünde kaldırılmıştır.

Akıllı banner'ların kullanımdan kaldırılması yerine uyarlanabilir banner'ların kullanıma sunulması

Akıllı banner reklamlar kullanımdan kaldırılarak yerini uyarlanabilir banner reklamlar aldı. Uyarlanabilir banner'lar, üstün performans ve reklam genişliğini ayarlarken daha fazla esneklik sağlar. Tam genişlikli banner'ları kullanmaya devam etmeyi tercih ederseniz 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)
    }
}

Uygulamayı geri çağırma kaldırma işleminden ayrıl

ProcessLifecycleOwner için tüm reklam biçimleri için onAdLeftApplication geri çağırması kaldırıldı. İşletim sistemi düzeyinde API kullanıldığında, kullanıcılar uygulamanızdan her ayrıldığında bunun bir reklam etkileşiminden kaynaklanıp kaynaklanmadığından bağımsız olarak sizi bilgilendirir.

onAdLeftApplication geri çağırma işlevinin hiçbir zaman bir reklam tıklama işleyicisi olarak tasarlanmadığını ve tıklamaları bildirmek için bu geri çağırmadan yararlanmanın 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ğırmayı başlatır, ancak tıklama olarak sayılmaz.

Sınıf yeniden adlandırmaları

Aşağıdaki tabloda, değiştirilen veya kaldırılan belirli sınıf adları listelenmektedir. Ö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 önekine sahip tüm sınıflar bir AdManager önekiyle değiştirildi.
  • InterstitialAd paketinin 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 ödüllü.ödüllüAdLoadCallback 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
biçimler.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ı
Arayüz 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. Ö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ı.
  • ÖdüllüAd ve InterstitialAd API'leri, tüm tam ekran biçimleriyle uyumlu olacak şekilde güncellendi.
  • İlişkilendirici özellikleri kaldırıldı.
Sınıf sürüm 19.5.0 API sürüm 20.0.0 API'sı Notlar
AdSize getDikeyBannerAdSizeWithWidth() getOrangeAnchoredAdaptiveBannerAdSize()
getLandscapeBannerAdSizeWithWidth() getLandscapeAnchoredAdaptiveBannerAdSize()
getCurrentOrientationBannerAdSizeWithWidth() getCurrentOrientationAnchoredAdaptiveBannerAdSize()
MobileAds initialize(Bağlam, Dize) MobileAds.initialize(Context, OnInitializationCompleteDinleyici) Uygulama kimliği artık AndroidManifest.xml dosyasında ayarlanmıştır.
initialize(Context, String, MobileAds.Settings) initialize(Context, OnInitializationCompleteDinleyici) Ayarlar sınıfı kullanımdan kaldırıldı.
getÖdüllüVideoAdInstance() Kaldırıldı Bunun yerine Ödüllü Reklam API'sini kullanın.
AdListener onAdFailedToLoad(int) onAdFailedToLoad(LoadAdError)
onAdLeftApplication() Kaldırıldı Tam ekran reklam biçimleri, AdListener yerine FullscreenContentCallback'i kullanır ve FullscreenContentCallback'te eşdeğer bir yöntem yoktur. Bu yöntem AdListener'dan kaldırılmıştır.
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ği filtreleme bölümünü inceleyin.
AdRequest.Oluşturucu setBirthday() Kaldırıldı
setGender() Kaldırıldı
setIsDesignedForFamilies() Kaldırıldı Kılavuzu inceleyin.
addTestDevice() RequestConfiguration.Builder.setTestDeviceIds() Test reklamlarını etkinleştirme konusuna bakın.
tagForChildDirectedTreatment() RequestConfiguration.Builder.setTagForChildDirectedTreatment() Reklam içeriği filtreleme bölümünü inceleyin.
setTagForUnderAgeOfConsent() RequestConfiguration.Builder.setTagForUnderAgeOfConsent()
setMaxAdContentRating() RequestConfiguration.Builder.setMaxAdContentRating()
AdView getMediationAdapterClassName() ResponseInfo.getMediationAdapterClassName() Artık AdView getResponseInfo() yöntemi aracılığıyla bir ResponseInfo nesnesi kullanılabilir.
NativeAdOptions setImageOrientation() setMediaAspectRatio()
getImageOrientation getMediaAspectRatio()
RewardedAd loadAd(AdRequest, RewardedAdLoadCallback) ÖdüllüAd.load(Bağlam, Dize, 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) ÖdüllüAd.load(Bağlam, Dize, AdManagerAdRequest, RewardedAdLoadCallback)
isLoaded() Kaldırıldı Statik yükleme yöntemindeki geri çağırma, zaten yüklenmiş bir reklam sağlar.
show(Etkinlik, RewardedAdCallback) show(Etkinlik, OnUser EarnedRewardListener) Bu gösterim yöntemi, daha geniş tam ekran biçimi yaklaşımına uygundur.
RewardedAdLoadCallback onÖdüllüReklamFailedToLoad(int) onAdFailedToLoad(LoadAdError)
onÖdüllüAdFailedToLoad(LoadAdError) onAdFailedToLoad(LoadAdError)
onRewardedAdLoaded() onAdLoaded(RewardedAd)
AppOpenAdLoadCallback onAppOpenAdFailedToLoad(int) onAdFailedToLoad(LoadAdError)
onAppOpenAdFailedToLoad(LoadAdError) onAdFailedToLoad(LoadAdError)
onAppOpenAdLoaded(AppOpenAd) onAdLoaded(AppOpenAd)
RewardedInterstitialAdLoadGeri Çağırma onÖdüllüGeçişReklamFailedToLoad(int) onAdFailedToLoad(LoadAdError)
onRewardedInterstitialAdFailedToLoad(LoadAdError) onAdFailedToLoad(LoadAdError)
onRewardedInterstitialAdLoaded(RewardedInterstitialAd) (Ödüllü Geçiş Reklamı) onAdLoaded(RewardedInterstitialAd)
InterstitialAd yeni 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İstek getNetworkExtras() Kaldırıldı NetworkExtras sınıfı kullanımdan kaldırıldı.
AdLoader forContentAd() Kaldırıldı
forAppInstallAd() Kaldırıldı
withCorrelator() Kaldırıldı
getMediationAdapterClassName() Kaldırıldı