Thứ Tư, ngày 10 tháng 7 năm 2024
Chúng tôi đã nhận được ý kiến phản hồi của bạn qua báo cáo sự cố trên Play Console về lỗi Ứng dụng không phản hồi (ANR) liên quan đến Google Mobile Ads SDK. Sau khi phân tích các báo cáo này, chúng tôi đã cập nhật các phương pháp hay nhất để triển khai SDK nhằm giảm tỷ lệ ANR. Sau đây là các phương pháp hay nhất nên áp dụng:
- Khởi chạy SDK quảng cáo trên thiết bị di động trên một luồng trong nền
- Bật cờ tối ưu hoá cho hoạt động tải quảng cáo
1. Khởi chạy SDK quảng cáo trên thiết bị di động trên một luồng trong nền
Phương pháp hay nhất trước đây của chúng tôi là chỉ định cờ tệp kê khai OPTIMIZE_INITIALIZATION. Tuy nhiên, bạn vẫn cần thực hiện một số thao tác trên luồng gọi để chuẩn bị cho MobileAds xử lý các lệnh gọi phương thức khác một cách đồng bộ.
Giờ đây, bạn nên gọi MobileAds.initialize() trên một luồng nền, cho phép công việc cần thiết trên luồng gọi diễn ra ở chế độ nền.
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() } } } }
Lưu ý: Khi gọi MobileAds.initialize() trên một luồng trong nền, bạn không cần phải dùng cờ tệp kê khai OPTIMIZE_INITIALIZATION nữa.
2. Bật cờ tối ưu hoá cho hoạt động tải quảng cáo
Bằng cách bật cờ tệp kê khai OPTIMIZE_AD_LOADING, bạn có thể giảm tải hầu hết các tác vụ tải quảng cáo sang một luồng trong nền. Bạn nên bật cờ này trong tệp AndroidManifest.xml của ứng dụng để giảm tần suất xảy ra lỗi ANR do tải quảng cáo.
<manifest>
...
<application>
...
<meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING"
android:value="true"/>
</application>
</manifest>Chúng tôi đã cập nhật tất cả ứng dụng mẫu Android để triển khai các phương pháp hay nhất này. Để biết thêm thông tin chi tiết về cờ khởi chạy và tối ưu hoá, hãy xem phần Bắt đầu và Tối ưu hoá quá trình khởi chạy và tải quảng cáo. Liên hệ với chúng tôi nếu bạn có thắc mắc hoặc cần được trợ giúp thêm.
Nhãn: ad-manager, admob, android, mobile-ads-sdk