SDK Taşıma

Bu sayfada mevcut ve önceki sürümler için taşıma işlemleri ele alınmaktadır.

v22'den v23'e geçin

Minimum Android API düzeyi 21'dir

23.0.0 sürümünden itibaren, Google Mobile Ads SDK'sı tüm uygulamaların çalışması için tüm uygulamaların minimum Android API düzeyinde 21 olmasını zorunlu tutmaktadır. API seviyesini ayarlamak için uygulama düzeyindeki build.gradle dosyanızda minSdkVersion değerini 21 veya daha yüksek bir değer olarak değiştirin.

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

22.0.0 sürümü API'sı v23.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 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() boole MobileAds.putPublisherFirstPartyIdEnabled()

v21'den v22'ye geçin

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

MobileAds.getVersionString() yöntemi 22.0.0 sürümünde kaldırılmış olup MobileAds.getVersion() yöntemi kullanılmıştı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 için Yeni Google Mobile Ads SDK'sı getVersion() yöntemini kullanma bölümüne bakın.

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

20. sürümden 21. sürüme geçin

minSdkVersion seçeneğini 19 veya daha yüksek bir sürüme güncelleyin

21.0.0 sürümünden itibaren, Google Mobile Ads SDK'sı tüm uygulamaların çalışması için tüm uygulamaların minimum Android API düzeyinde 19 olmasını zorunlu tutmaktadır. API seviyesini ayarlamak için uygulamanızın derleme dosyasındaki minSdkVersion değerini 19 veya daha yüksek olacak şekilde değiştirin.

Katı değer atanabilirliği zorunlu kıl

Katı değer atanabilirliğinin zorunlu kılınmasına hazırlık kapsamında, daha önce null değeri açık bir şekilde tanımlamayan tüm API'lere @NonNull ek açıklamaları eklenmiştir.

Bu değişiklik, boş güvenlik ihlalleri varsa ve null değerlerini daha önce güvenli bir şekilde işlemediyseniz Java boş kontrol ç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ı

Belirli bir reklam ağı bağdaştırıcısına NetworkExtras örneği olarak ek parametreler ileten 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:

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

Google, konum verilerini reklamları hedeflemek için kullanmaz. Gerekirse üçüncü taraf reklam ağlarına bilgi sağlamak için üçüncü taraf API'lerini kullanmanız gerekir.

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

Özel etkinlikler sayesinde yayıncılar,AdMob Uyumlulaştırması kullanarak AdMobdesteklenen reklam kaynaklarından biri olmayan bir şelale reklam kaynağı oluşturabilir.

Adapter sınıfı ve MediationAdLoadCallback arayüzü kullanılacak şekilde tüm özel etkinlik arayüzleri kullanımdan kaldırılmıştı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 listelenmiştir:

v20.0.0 Arayüzleri v21.0.0 Sınıfı/ Arayüz
CustomEvent Adaptör
CustomEventBanner
CustomEventInterstitial
CustomEventNative
CustomEventBannerListener Bağdaştırıcı, MediationAdLoadCallback
CustomEventInterstitialListener
CustomEventListener
CustomEventNativeListener

19. sürümden 20. sürüme geçin

20.0.0 sürümünde zarar veren birçok 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ırlanırken 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çim 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ı oluşturacak şekilde standart hale getirilmiştir.

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ı
  • Sunu geri aramaları için FullScreenContentCallback sınıfından yararlanma

Eski ÖdüllüVideoAd API'nin 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. Uygulamada, eski RewardedVideoAd API'ye kıyasla tek seferde birden fazla ödüllü reklam yükleme özelliği de dahil olmak üzere daha fazla iyileştirme yapıldı.

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

Uyarlanabilir banner'ın yaygınlaşması için akıllı banner'ın kullanımdan kaldırılması

Akıllı banner reklamların desteği sonlandırılarak uyarlanabilir banner reklamların kullanılması amaçlanmaktadır. Uyarlanabilir banner'lar, reklam genişliğini ayarlamada üstün performans ve daha fazla esneklik sağlar. Tam genişlikte banner'lar kullanmaya devam etmek istiyorsanız bunu aşağıdaki kod snippet'inde gösterildiği gibi uyarlanabilir banner ile 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)
    }
}

Uygulama geri arama kaldırma işleminden çık

Tüm reklam biçimleri için onAdLeftApplication geri çağırması kaldırılmış olup ProcessLifecycleOwner yerini almıştır. OS düzeyinde API kullanmak, bunun bir reklam etkileşiminden kaynaklanıp kaynaklanmadığına bakılmaksızın, kullanıcılar uygulamanızdan ayrıldığında sizi bilgilendirir.

onAdLeftApplication geri çağırmasının hiçbir zaman reklam tıklaması işleyici olarak tasarlanmadığını ve tıklamaları raporlamak için bu geri çağırmadan yararlanmanın doğru bir metrik oluşturmadığını unutmayın. Örneğin, harici bir tarayıcıyı başlatan Reklam Seçenekleri simgesine yapılan bir tıklama, geri çağırmayı çağırdı ancak tıklama olarak sayılmaz.

Sınıfları yeniden adlandırma

Aşağıdaki tabloda, değiştirilen veya kaldırılan belirli sınıf adları listelenmiştir. Özette:

  • UnifiedNativeAd ile ilgili çoğu sınıfın adı NativeAd olarak değiştirildi.
  • MobileAds.Settings, NativeExpressAdView, NativeAppInstallAd, NativeContentAd ve InstreamAd sınıfları ve görünümleri kaldırıldı.
  • Publisher ön ekine 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ü.RewardAdLoadCallback 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
formatlar.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.TagFor UnderAgeOfConsent 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 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ü Reklam ve Geçiş Reklamı 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 20.0.0 sürümü API'sı Notlar
AdSize getPortraitBannerAdSizeWithWidth() getPortraitAnchoredAdaptiveBannerAdSize()
getYatayBannerAdSizeWithWidth() getLandscapeAnchoredAdaptiveBannerAdSize()
getCurrentOrientationBannerAdSizeWithWidth() getCurrentOrientationAnchoredAdaptiveBannerAdSize()
MobileAds startize(Bağlam; Dize) MobileAds.initialize(Context, OnInitializationCompleteİşleyici) Uygulama kimliği artık AndroidManifest.xml dosyasında ayarlanır.
startize(Bağlam, Dize, MobileAds.Settings) startize(Context, OnInitializationCompleteİşleyici) Ayarlar sınıfı kullanımdan kaldırıldı.
getÖdüllüVideoAdInstance() Kaldırıldı Bunun yerine ÖdüllüAd API'yi 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.Geliştirici setBirthday() Kaldırıldı
setGender() Kaldırıldı
setIsDesignedForFamilies() Kaldırıldı Kılavuza bakın.
addTestDevice() RequestConfiguration.Builder.setTestDeviceIds() Bkz. Test reklamlarını etkinleştirme.
tagForChildDirectedTreatment() RequestConfiguration.Builder.setTagForChildDirectedTreatment() Reklam içeriği filtreleme bölümünü inceleyin.
setTagForaltAgeOfConsent() RequestConfiguration.Builder.setTagForUnderAgeOfConsent()
setMaxAdContentRating() RequestConfiguration.Builder.setMaxAdContentRating()
AdView getUyumlulaştırmaAdapterClassName() ResponseInfo.getMediationAdapterClassName() ResponseInfo nesnesi, artık AdView yöntemi getResponseInfo() aracılığıyla kullanılabilir.
NativeAdOptions setImageOrientation() setMediaAspectRatio()
getImageOrientation getMediaAspectRatio()
RewardedAd loadAd(AdRequest, ÖdüllüAdLoadCallback) ÖdüllüAd.load(Bağlam, Dize, Reklam İsteği, ÖdüllüAdLoadCallback) Ödüllü Reklam artık diğer tam ekran biçimleriyle aynı statik yükleme yaklaşımını kullanıyor.
loadAd(PublisherAdRequest, ÖdüllüAdLoadCallback) ÖdüllüAd.load(Bağlam, Dize, AdManagerAdRequest, RewardAdLoadCallback)
isLoaded() Kaldırıldı Statik yükleme yönteminden gelen geri çağırma, önceden yüklenmiş bir reklam sağlar.
show(Etkinlik, Ödüllü Reklam Çağrısı) show(Etkinlik, OnUser EarnedRewardListener.) Bu şov yöntemi, daha geniş kapsamlı tam ekran biçimi yaklaşımına uygundur.
RewardedAdLoadCallback onÖdüllüAdFailedToLoad(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)
Ödül GeçişliAdLoadGeri Çağırma onÖdül geçiş reklamıFailedToLoad(int) onAdFailedToLoad(LoadAdError)
onÖdül geçiş reklamıFailedToLoad(LoadAdError) onAdFailedToLoad(LoadAdError)
onÖdüllüGeçişReklamıYüklendi(Ödüllü Geçiş Reklamı) onAdYüklendi(Ödüllü Geçiş Reklamı)
InterstitialAd yeni InterstitialAd() GeçişReklamı.load(Bağlam, Dize, Reklam İsteği, geçişAdLoadCallback) Geçiş Reklamı 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ı
forAppLoadAd() Kaldırıldı
withCorrelator() Kaldırıldı
getUyumlulaştırmaAdapterClassName() Kaldırıldı