Rabu, 10 Juli 2024
Kami telah menerima masukan Anda melalui laporan error Konsol Play terkait error Aplikasi Tidak Merespons (ANR) yang terkait dengan Google Mobile Ads SDK. Setelah menganalisis laporan ini, kami memperbarui praktik terbaik penerapan SDK untuk mengurangi rasio ANR. Praktik terbaik yang direkomendasikan adalah sebagai berikut:
- Melakukan inisialisasi SDK iklan seluler di thread latar belakang
- Mengaktifkan tanda pengoptimalan untuk pemuatan iklan
1. Melakukan inisialisasi SDK Iklan Seluler di thread latar belakang
Praktik terbaik kami sebelumnya adalah menentukan flag manifes OPTIMIZE_INITIALIZATION. Namun, beberapa pekerjaan pada thread panggilan masih diperlukan untuk menyiapkan MobileAds agar dapat menangani panggilan metode lain secara sinkron.
Kami sekarang merekomendasikan untuk memanggil MobileAds.initialize() di thread latar belakang, sehingga pekerjaan yang diperlukan pada thread panggilan dapat dilakukan di latar belakang.
import com.google.android.gms.ads.MobileAds import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) CoroutineScope(Dispatchers.IO).launch { // Initialize the Google Mobile Ads SDK on a background thread. MobileAds.initialize(this@MainActivity) {} runOnUiThread { // Load an ad on the main thread. loadAd() } } } }
Catatan: Saat memanggil MobileAds.initialize() di thread latar belakang, flag manifes OPTIMIZE_INITIALIZATION tidak lagi diperlukan.
2. Aktifkan flag pengoptimalan untuk pemuatan iklan
Dengan mengaktifkan flag manifes OPTIMIZE_AD_LOADING, Anda dapat mengalihkan sebagian besar tugas pemuatan iklan ke thread latar belakang. Sebaiknya aktifkan flag ini di file AndroidManifest.xml aplikasi Anda untuk mengurangi terjadinya pemuatan iklan yang menyebabkan ANR.
<manifest>
...
<application>
...
<meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING"
android:value="true"/>
</application>
</manifest>Kami telah memperbarui semua aplikasi contoh Android untuk menerapkan praktik terbaik ini. Untuk mengetahui detail selengkapnya tentang flag inisialisasi dan pengoptimalan, lihat Memulai dan Mengoptimalkan inisialisasi dan pemuatan iklan. Hubungi kami jika ada pertanyaan atau memerlukan bantuan tambahan.
Label: ad-manager, admob, android, mobile-ads-sdk