Halaman ini mencakup migrasi untuk versi saat ini dan sebelumnya.
Bermigrasi dari v20 ke v21
Bermigrasi dari v19 ke v20
Ada banyak perubahan yang dapat menyebabkan gangguan pada versi 20.0.0. Versi 19.7.0 memperkenalkan banyak API baru, dan menghentikan atau mengganti nama banyak class sebagai persiapan untuk versi 20.0.0. Panduan ini menyoroti perubahan utama dalam versi 20.0.0.
Update API format layar penuh
Mulai versi 20.0.0, format iklan interstisial, reward, interstisial reward, dan Layar Pembuka Aplikasi distandarisasi untuk mengikuti desain API yang konsisten.
Semua API format layar penuh menggunakan prinsip berikut:
- Metode pemuatan statis
- Mekanisme callback atau pengendali pemuatan yang serupa
- Mengandalkan class
FullScreenContentCallback
untuk callback presentasi
Penghapusan RewardedVideoAd API lama
RewardedAd
API yang lebih baru pertama kali diperkenalkan pada bulan Maret 2019 dan telah menjadi API reward
pilihan selama lebih dari 18 bulan. Versi ini memiliki lebih banyak peningkatan dibandingkan dengan
RewardedVideoAd
API lama, termasuk kemampuan untuk memuat lebih dari satu iklan
reward pada satu waktu.
RewardedVideoAd
API lama dihapus di SDK versi 20.0.0.
Penghentian banner cerdas dan digantikan dengan banner adaptif
Iklan banner cerdas tidak digunakan lagi dan digantikan dengan iklan banner adaptif. Banner adaptif memberikan performa yang unggul dan lebih fleksibel dalam menetapkan lebar iklan. Jika Anda memilih untuk terus menggunakan banner lebar penuh, hal tersebut masih dapat dilakukan menggunakan banner adaptif, seperti yang ditunjukkan dalam cuplikan kode berikut:
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) } }
Keluar dari callback callback
Callback onAdLeftApplication
untuk semua format iklan telah dihapus dan diganti dengan
ProcessLifecycleOwner
.
Menggunakan API tingkat OS memberi tahu Anda setiap kali pengguna meninggalkan aplikasi, terlepas dari apakah itu karena interaksi iklan atau tidak.
Perhatikan bahwa callback onAdLeftApplication
tidak pernah dimaksudkan sebagai pengendali klik iklan, dan mengandalkan callback ini untuk melaporkan klik tidak menghasilkan metrik yang akurat. Misalnya, klik pada ikon AdChoices yang meluncurkan browser eksternal memanggil callback, tetapi tidak dihitung sebagai klik.
Penggantian nama class
Tabel di bawah mencantumkan nama class tertentu yang telah diubah atau dihapus. Rangkuman:
- Sebagian besar class yang terkait dengan
UnifiedNativeAd
telah diganti namanya menjadiNativeAd
. - Class dan tampilan
MobileAds.Settings
,NativeExpressAdView
,NativeAppInstallAd
,NativeContentAd
, danInstreamAd
telah dihapus. - Semua class dengan awalan
Publisher
telah diganti dengan awalanAdManager
. - Nama paket
InterstitialAd
telah berubah.
Kelas 19.5.0 | Kelas 20.0.0 |
---|---|
com.google.android.gms.ads. | com.google.android.gms.ads. |
reward.IklanVideoReward | reward.RewardAd |
reward.RewardVideoAdListener | reward.RewardedAdLoadCallback dan FullScreenContentCallback |
reward.RewardItem | reward.RewardItem |
reward.RewardAdCallback | OnListenerPerolehanRewardReward |
format.UnifiedNativeAdView | nativead.NativeAdView |
format.UnifiedNativeAd | nativead.NativeAd |
format.UnifiedNativeAdAssetNames | nativead.NativeAdAssetNames |
format.UnifiedNativeAd.OnUnifiedNativeAdLoadedListener | nativead.NativeAd.OnNativeAdLoadedListener |
format.AdChoicesView | nativead.AdChoicesLihat |
format.NativeAd.AdChoicesInfo | nativead.NativeAd.AdChoicesInfo |
format.MediaView | nativead.MediaView |
format.NativeAdViewHolder | nativead.NativeAdViewHolder |
format.NativeAdOptions | nativead.NativeAdOptions |
format.NativeCustomTemplateAd | nativead.NativeCustomFormatAd |
format.NativeCustomTemplateAd |
nativead.NativeCustomFormatAd |
MobileAds.Settings | Dihapus |
doubleclick.PublisherMediaItem | admanager.AdManagerLifecycleOwner |
doubleclick.PublisherAdView | admanager.AdManagerAdView |
format.PublisherAdViewOptions | format.AdManagerAdViewOptions |
doubleclick.PublisherInterstisialAd | admanager.AdManagerInterstisialAd |
IklanInterstisial | interstisial.InterstisialAd |
NativeExpressAdView | Dihapus |
instream.InstreamAd | Dihapus |
mediasi.admob.AdMobExtras | Dihapus |
Korelator | Dihapus |
search.SearchSearch | Dihapus |
Antarmuka domainanda.TagForUnderAgeOfConsent | Dihapus |
Antarmuka domainanda.MaxAdContentRating | Dihapus |
format.NativeAppInstallAd | native.NativeAd |
format.NativeAppInstallAdView | native.NativeAdView |
mediasi.NativeAppInstallAdMapper | mediasi.UnifiedNativeAdMapper |
format.NativeContentAd | native.NativeAd |
format.NativeContentAdView | native.NativeAdView |
mediasi.NativeContentAdMapper | mediasi.UnifiedNativeAdMapper |
Metode dihapus/diganti
Tabel di bawah mencantumkan perubahan spesifik dalam versi 20.0.0. Ringkasan:
- Metode inisialisasi yang sudah usang telah dihapus dari class MobileAds.
- Beberapa metode dari class
AdRequest.Builder()
telah dihapus atau dipindahkan ke classRequestConfiguration
. - API RewardAd dan InterstisialAd telah diupdate agar selaras dengan semua format layar penuh.
- Fitur korelator telah dihapus.
Class | API v19.5.0 | API v20.0.0 | Catatan |
---|---|---|---|
UkuranIklan | getPortraitBanner |
getPortraitAnchored |
|
getLandscapeBanner |
getLandscapeAnchored |
||
getCurrentOrientation |
getCurrentOrientationAnchored |
||
Iklan Seluler | lakukan inisialisasi(Context, String) | MobileAds.Initialize(Context, OnInitializationComplete |
ID aplikasi sekarang ditetapkan di AndroidManifest.xml. |
lakukan inisialisasi(Context, String, MobileAds.Settings) | lakukan inisialisasi(Context, OnInitializationComplete |
Class Settings tidak digunakan lagi. | |
getRewardedVideo |
Dihapus | Gunakan RewardedAd API sebagai gantinya. | |
AdListener | onAdFailedToLoad(int) | onAd |
|
onAdLeftApplication() | Dihapus | Format iklan layar penuh menggunakan FullscreenContentCallback sebagai pengganti AdListener, dan tidak ada metode yang setara pada FullscreenContentCallback. Metode telah dihapus dari AdListener. | |
Pengontrol Video | getAspectRatio() | MediaContent.getAspectRatio() | |
PublisherAdRequest | getGender() | Dihapus | |
getBirthday() | Dihapus | ||
getNetworkExtras() | Dihapus | ||
setManualImpression |
Dihapus | ||
updateCorrelator() | Dihapus | Lihat Pemfilteran konten iklan. | |
PublisherAdRequest.Builder | setBirthday() | Dihapus | |
setGender() | Dihapus | ||
setIsDesignForFamily() | Dihapus | Lihat panduan. | |
addTestDevice() | RequestConfiguration |
Lihat Mengaktifkan iklan percobaan. | |
tagForChildDirectedTreatment() | RequestConfiguration |
Lihat Pemfilteran konten iklan. | |
setTagFor |
RequestConfiguration |
||
setMaxAdContentRating() | RequestConfiguration |
||
AdView | getMediationAdapter |
ResponsInfo |
Objek ResponseInfo kini tersedia melalui metode AdView getResponseInfo(). |
OpsiIklan Native | setImageOrientation() | setMediaAspectRatio() | |
getImageOrientation | getMediaAspectRatio() | ||
Iklan Reward | loadAd(ARPU, RewardedAdLoadCallback) | RewardedAd.load(Context, String, ARPU, RewardedAdLoadCallback) | RewardedAd kini menggunakan pendekatan pemuatan statis yang sama seperti format layar penuh lainnya. |
loadAd(PublisherMediaItem, RewardedAdLoadCallback) | RewardedAd.load(Context, String, AdManagerARPU, RewardedAdLoadCallback) | ||
isLoaded() | Dihapus | Callback dari metode pemuatan statis menyediakan iklan yang sudah dimuat. | |
show(Activity, RewardedAdCallback) | show(Activity, OnUserPerolehanedRewardListener) | Metode acara ini mematuhi pendekatan format layar penuh yang lebih luas. | |
RewardAdLoadCallback | onRewardedAd |
onAd |
|
onRewardedAd |
onAd |
||
onRewardedAdLoaded() | onAdLoaded(RewardedAd) | ||
AppOpenAdLoadCallback | onAppOpenAd |
onAd |
|
onAppOpenAd |
onAd |
||
onAppOpenAd |
onAdLoaded(AppOpenAd) | ||
RewardInterstisialAdLoad |
onRewardedInterstisialAd |
onAd |
|
onRewardedInterstisialAd |
onAd |
||
onRewardedInterstisialAd |
onAd |
||
PublisherInterstitialAd | baru PublisherInterstitialAd() | InterstisialAd.load(Context, String, ARPU, InterstisialAdLoadCallback) | InterstisialAd kini menggunakan pendekatan pemuatan statis yang sama dengan format layar penuh lainnya. |
setAdListener() | |||
Permintaan DynamicHeightSearchAd |
getNetworkExtras() | Dihapus | Class NetworkExtras tidak digunakan lagi. |
AdLoader | untukKontenKonten() | Dihapus | |
untukAppInstallAd() | Dihapus | ||
withCorrelator() | Dihapus | ||
getMediationAdapter |
Dihapus |