Catatan perubahan dan catatan rilis untuk Meta Facebook SDK untuk Android.
Tindakan diperlukan: Perbarui aplikasi Android Anda ke SDK 6.5 untuk terus memonetisasi di Audience Network
Anda harus memperbarui aplikasi Android Anda ke Audience SDK 6.5 atau versi yang lebih baru untuk terus beroperasi dan memonetisasi di Audience Network. Audience Network SDK versi lama tidak kompatibel dengan aplikasi yang menargetkan Android 12+ (API level 31+) dan tidak akan berfungsi dengan benar untuk aplikasi di perangkat ini.
IllegalStateException
di MediaPlayer Android/apex/com.android.art/lib64/libart.so (art::OatHeader::IsDebuggable() const+124)
di Android 11.java.lang.IllegalStateException: Software rendering doesn't support hardware bitmaps
.pc 00000000000830f0 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
.ClassNotFoundException when unmarshalling
.Peluncuran API fleksibel baru untuk semua format iklan. Hal ini memungkinkan semua parameter khusus untuk memuat dan menampilkan iklan ditentukan menggunakan objek builder, yang dapat diperoleh melalui panggilan metode Ad.buildLoadConfig()
. API lama masih akan didukung dalam waktu dekat, tetapi pada akhirnya akan dihapus.
IntersitialAd ad = new InterstitialAd(Context, String); ad.loadAd(ad.buildLoadConfig() // LoadConfigBuilder .withBid(String) .withListener(AdListener) .withCacheFlags(CacheFlags) .build()); // builds LoadConfig
Perubahan pada jaringan dan logika cache untuk meningkatkan kinerjanya.
Kami telah mengubah bendera label untuk Pemirsa Campuran dari isChildDirected
menjadi MixedAudience
. Informasi selengkapnya tentang Pemirsa Campuran dan COPPA dapat ditemukan di sini:
withPreloadedIconView
, yang memungkinkan pra-caching opsional aset ikon untuk iklan native. Lebar dan tinggi harus ditentukan.NativeAdBase .buildLoadAdConfig() // NativeAdBase.LoadAdConfigBuilder .withBidPayload(String) .withCacheFlags(MediaCacheFlags) .withPreloadedIconView(int w, int h) .loadAd();
loadAd()
sekunder ke objek iklan jika ada permintaan lain yang sudah dimuat atau memuat permintaan showAd()
sekunder ke objek iklan jika sudah ada iklan di layar.ImageView
sekarang dapat dipertukarkan dengan MediaView
untuk NativeBannerAd
ImageView
dengan NativeBannerAd
Iklan Banner Native sekarang dapat dibuat dengan ImageView
. Metode baru (lihat di bawah) telah ditambahkan untuk memungkinkan ini. Perhatikan bahwa penggunaan MediaView
masih didukung.
class NativeBannerAd { /** * Registers the given view as the container and the required ImageView as the Icon display * for this NativeBannerAd to handle impressions and clicks. * ImageView must be within the view passed as the container for this NativeBannerAd. * Applies a click handler to the entire unit. * @param view the View containing this NativeBannerAd for display * @param iconView ImageView to display Icon for this NativeBannerAd * * @since 5.4 */ public void registerViewForInteraction(View view, ImageView iconView); /** * Registers the given view as the container and the required ImageView as the Icon display * for this NativeBannerAd to handle impressions and clicks. * ImageView must be within the view passed as the container for this NativeBannerAd. * Applies a click handler to the entire unit. * @param view the View containing this NativeBannerAd for display * @param iconView ImageView to display Icon for this NativeBannerAd * @param clickableViews a list of all view elements that should handle taps on this unit * * @since 5.4 */ public void registerViewForInteraction( View view, ImageView iconView, @Nullable final List<View> clickableViews); }
Android SDK kami sekarang menggunakan cache baru untuk menyimpan iklan yang sudah diunduh. Cache baru ini lebih dapat diandalkan dan seharusnya mengurangi jumlah kesalahan caching.
Kami sekarang menyediakan contoh aplikasi yang menggunakan Meta Audience Network SDK di Kotlin.
ExoPlayer bukan lagi dependensi SDK.
RecyclerView
.NativeBannerAd
.BidderTokenProvider.getBidderToken()
sekarang dapat sering dipanggil dan token penawar sudah dihitung saat mulai. Jadi, begitu SDK menginisialisasi, token penawar seharusnya bisa didapatkan lebih cepat daripada versi sebelumnya, agar terhindar dari masalah latensi.isInitialized
) di AudienceNetworkAds
yang memungkinkan aplikasi untuk menguji apakah SDK diinisialisasi. Hal ini memungkinkan penerbit untuk menghindari inisialisasi ganda.getAdsProcessName
) di AudienceNetworkAds
yang memungkinkan aplikasi untuk memeriksa apakah proses saat ini adalah proses internal SDK (sama seperti isInAdsProcess
yang diperkenalkan dalam 5.1). Bagi penerbit yang ingin lebih banyak kontrol atas proses aplikasi mereka, ini dapat digunakan untuk memfilter proses yang dihasilkan oleh SDK iklan.NativeAdViewAttributes
kini memerlukan objek Konteks.AdOptionsView
.MediaView
(Iklan Native).Fatal Exception: android.util.AndroidRuntimeException: android.content.pm.PackageManager$NameNotFoundException: com.google.android.webview
dimitigasi.Error: java.lang.RuntimeException: java.lang.Throwable: A WebView method was called on thread 'JavaBridge'. All WebView methods must be called on the same thread.
.AdOptionsView
untuk iklan native yang memberikan fleksibilitas yang lebih besar.Error: java.lang.RuntimeException: Unable to pause activity {com.your.app/com.facebook.ads.AudienceNetworkActivity}: java.lang.NullPointerException
untuk Interstisial Carousel.java.lang.NoSuchMethodError: android.view.ViewTreeObserver.removeOnGlobalLayoutListener
.java.lang.IllegalStateException: The specified child already has a parent
.