Mercredi 10 juillet 2024
Nous avons pris en compte vos commentaires via les rapports d'erreur de la Play Console concernant les erreurs L'application ne répond pas (ANR) liées au SDK Google Mobile Ads. Après avoir analysé ces rapports, nous avons mis à jour nos bonnes pratiques d'implémentation du SDK afin de réduire les taux d'erreurs ANR. Voici les bonnes pratiques recommandées :
- Initialiser le SDK Mobile Ads sur un thread d'arrière-plan
- Activer l'indicateur d'optimisation pour le chargement des annonces
1. Initialisez le SDK publicitaire mobile sur un thread d'arrière-plan.
Notre précédente bonne pratique consistait à spécifier l'option de fichier manifeste OPTIMIZE_INITIALIZATION. Toutefois, un certain travail sur le thread d'appel est toujours nécessaire pour préparer MobileAds à gérer d'autres appels de méthode de manière synchrone.
Nous vous recommandons désormais d'appeler MobileAds.initialize() sur un thread d'arrière-plan, ce qui permet d'effectuer le travail requis sur le thread d'appel en arrière-plan.
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() } } } }
Remarque : Lorsque vous appelez MobileAds.initialize() sur un thread d'arrière-plan, l'indicateur de fichier manifeste OPTIMIZE_INITIALIZATION n'est plus nécessaire.
2. Activer l'indicateur d'optimisation pour le chargement des annonces
En activant l'indicateur de fichier manifeste OPTIMIZE_AD_LOADING, vous pouvez décharger la plupart des tâches de chargement d'annonces sur un thread en arrière-plan. Nous vous recommandons d'activer cette option dans le fichier AndroidManifest.xml de votre application pour réduire l'occurrence des erreurs ANR dues au chargement des annonces.
<manifest>
...
<application>
...
<meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING"
android:value="true"/>
</application>
</manifest>Nous avons mis à jour toutes nos applications exemples Android pour implémenter ces bonnes pratiques. Pour en savoir plus sur les options d'initialisation et d'optimisation, consultez Premiers pas et Optimiser l'initialisation et le chargement des annonces. Contactez-nous si vous avez des questions ou si vous avez besoin d'aide.
Libellés : ad-manager, admob, android, mobile-ads-sdk