Środa, 10 lipca 2024 r.
Otrzymaliśmy Twoją opinię w raportach o awariach w Konsoli Play dotyczącą błędów Aplikacja nie odpowiada (ANR) związanych z pakietem SDK do reklam mobilnych Google. Po przeanalizowaniu tych raportów zaktualizowaliśmy sprawdzone metody wdrażania pakietu SDK, aby zmniejszyć częstotliwość błędów ANR. Oto zalecane sprawdzone metody:
- Inicjowanie pakietu SDK do wyświetlania reklam mobilnych w wątku w tle
- Włącz flagę optymalizacji wczytywania reklam
1. Inicjowanie pakietu SDK do wyświetlania reklam mobilnych w wątku w tle
Wcześniej zalecaliśmy określenie flagi manifestu OPTIMIZE_INITIALIZATION. Jednak w wątku wywołującym nadal wymagane są pewne działania, aby przygotować MobileAds do synchronicznej obsługi innych wywołań metod.
Teraz zalecamy wywoływanie metody MobileAds.initialize() w wątku w tle, co umożliwia wykonywanie pracy wymaganej w wątku wywołującym w tle.
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() } } } }
Uwaga: gdy wywołujesz MobileAds.initialize() w wątku w tle, flaga OPTIMIZE_INITIALIZATION w pliku manifestu nie jest już wymagana.
2. Włącz flagę optymalizacji wczytywania reklam
Włączenie flagi manifestu OPTIMIZE_AD_LOADING pozwala przenieść większość zadań związanych z wczytywaniem reklam do wątku w tle. Zalecamy włączenie tej flagi w pliku AndroidManifest.xml aplikacji, aby zmniejszyć liczbę błędów ANR spowodowanych wczytywaniem reklam.
<manifest>
...
<application>
...
<meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING"
android:value="true"/>
</application>
</manifest>Zaktualizowaliśmy wszystkie nasze przykładowe aplikacje na Androida, aby wdrożyć te sprawdzone metody. Więcej informacji o flagach inicjowania i optymalizacji znajdziesz w artykułach Pierwsze kroki i Optymalizowanie inicjowania i wczytywania reklam. Jeśli masz pytania lub potrzebujesz dodatkowej pomocy, skontaktuj się z nami.
Etykiety: ad-manager, admob, android, mobile-ads-sdk