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 Android API düzeyi 21'de olması gerekir. API seviyesini ayarlamak için uygulama düzeyindeki build.gradle dosyanızda minSdkVersion değerini 21 veya sonraki bir değere ayarlayın.

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() boolean 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 kullanımdan kaldırıldı / MobileAds.getVersion()

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 Mobil'i kullanma Reklam SDK'sı getVersion() yöntemini kullanı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 Android API düzeyi 19 olan alt sürümlerin çalıştırılması gerekir. API seviyesini ayarlamak için uygulamanızın derleme dosyasında minSdkVersion değerini 19 veya sonraki bir değere ayarlayın.

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

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

Bu değişiklik, Java boş kontrolünü kullanan Kotlin uygulamalarını ve uygulamalarını bozabilir çerçeveleri (boş güvenlik ihlali varsa ve daha önce ele alınmamışsa) null değerlerini güvenli bir şekilde (Kotlin dokümanlarına bakın: Boş güvenlik ) tabi olacaktır.

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

Ek parametreleriaddNetworkExtras() Belirli bir reklam ağı bağdaştırıcısı için NetworkExtras örneği SDK'da kullanımdan kaldırıldı ve 21.0.0 sürümünde tamamen kaldırılacaktır. Şunu kullanın: addNetworkExtrasBundle() yöntemini aynı AdRequest.Builder sınıfından alır.

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ındaki setLocation(Location location) yöntemi Uyumlulaştırma hedefleme amaçları için kullanıcının konumunu belirler.
  • AdRequest sınıfında bulunan ve kullanıcınıngetLocation() daha önce setLocation(Location location) yöntemine geçirilen yer hedefleme bilgileri.
  • MediationAdConfiguration sınıfındaki getLocation() yöntemi AdRequest tarafından tanımlanmışsa kullanıcının konumunu döndürür.

Google, konum verilerini reklamları hedeflemek için kullanmaz. Hangi tür stratejilerin üçüncü taraf reklam ağlarına bilgi sağlamak için üçüncü taraf API'leri gereklidir.

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

Özel etkinlikler, yayıncıların AdMob Uyumlulaştırması kullanılmayan bir şelale reklam kaynağı AdMobadlı desteklenen reklam kaynaklarını ziyaret edin.

Tüm özel etkinlik arayüzlerin desteği sonlandırılmıştır. Adapter sınıf ve MediationAdLoadCallback kullanır.

Aşağıdaki tabloda, kullanılması gereken ilgili sınıf veya arayüz listelenmiştir. 21.0.0 sürümünden itibaren her özel etkinlik arayüzü için:

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ü kullanıma sunuldu birçok yeni API, sürüme hazırlanmak için birçok sınıfın desteği sonlandırılmış veya yeniden adlandırılmıştır. 20.0.0. 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ü reklam, ödüllü geçiş reklamı ve Uygulama açılış reklamı biçimleri, tutarlı bir API tasarımı uygulanacak ş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ğırma veya işleyici mekanizması
  • FullScreenContentCallback'a güvenirler. sunu geri çağırmaları için sınıf

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

Daha yeni RewardedAd İlk olarak Mart 2019'da kullanıma sunulan API, 18 aydan uzun süredir API'de. Eski sürüme kıyasla daha fazla iyileştirme yapıldı Birden fazla ödüllü reklam yükleme olanağı dahil RewardedVideoAd API oluşturabilirsiniz.

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ılıyor uyarlanabilir banner'ın yerine reklam. Uyarlanabilir banner'lar, tüm reklam çalışmalarında daha iyi performans ve daha fazla reklam genişliğini ayarlayabilirsiniz. Tam genişlikte banner'lar kullanmaya devam etmeyi tercih ederseniz aşağıdaki kod snippet'inde gösterildiği gibi uyarlanabilir banner kullanılarak yapılabilir:

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ıldı / ProcessLifecycleOwner İşletim sistemi düzeyinde API kullandığınızda, kullanıcılar uygulamanızdan bağımsız olarak her seferinde size bildirim gönderir. bir reklam etkileşiminden kaynaklanıp kaynaklanmadığını gösterir.

onAdLeftApplication geri çağırmasının hiçbir zaman reklam olarak tasarlanmadığını unutmayın ve tıklamaların raporlanmasında bu geri çağırmadan yararlanarak veya doğru metrik Örneğin, Reklam Seçenekleri simgesinin tıklanması, harici tarayıcı 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. İçinde özet:

  • UnifiedNativeAd ile ilgili çoğu sınıfın adı NativeAd olarak değiştirildi.
  • MobileAds.Settings, NativeExpressAdView, NativeAppInstallAd, NativeContentAd ile InstreamAd sınıf ve görünüm kaldırıldı.
  • Publisher önekine sahip tüm sınıflar AdManager öneki.
  • 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
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ı
Correlator 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 yeni API'lerle uyumlu olacak şekilde güncellendi tam ekran biçimlerinden biriyle gösterilir.
  • İ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()
getLandscapeBannerAdSizeWithWidth() 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ı.
getRewardedVideoAdInstance() 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, ve FullscreenContentCallback'te eşdeğer bir yöntem yoktur. İlgili içeriği oluşturmak için kullanılan yöntemi 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ı Görüntüleyin Reklam içeriği filtreleme.
AdRequest.Builder 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() Görüntüleyin Reklam içeriği filtreleme.
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, ÖdüllüAdLoadCallback) ÖdüllüAd.load(Bağlam, Dize, Reklam İsteği, ÖdüllüAdLoadCallback) Ödüllü Reklam artık diğer statik yüklemelerle aynı statik yükleme yaklaşımını kullanıyor tam ekran biçimlerinden biriyle gösterilir.
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 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() GeçişReklamı.load(Bağlam, Dize, Reklam İsteği, geçişAdLoadCallback) Geçiş Reklamı, artık tam ekran biçimlerini de kullanabilirsiniz.
setAdListener()
DynamicHeightSearchAdRequest 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ı