Miércoles, 10 de julio de 2024
Recibimos tus comentarios a través de los informes de fallas de Play Console sobre los errores de "La aplicación no responde" (ANR) relacionados con el SDK de anuncios de Google para dispositivos móviles. Después de analizar estos informes, actualizamos nuestras prácticas recomendadas para la implementación del SDK con el objetivo de reducir las tasas de ANR. Las prácticas recomendadas son las siguientes:
- Inicializa el SDK de anuncios para dispositivos móviles en un subproceso en segundo plano
- Habilita el parámetro de optimización para la carga de anuncios
1. Inicializa el SDK de anuncios para dispositivos móviles en un subproceso en segundo plano
Nuestra práctica recomendada anterior era especificar la marca de manifiesto OPTIMIZE_INITIALIZATION. Sin embargo, aún se requiere algo de trabajo en el subproceso de llamada para preparar MobileAds para controlar otras llamadas de método de forma síncrona.
Ahora, recomendamos llamar a MobileAds.initialize() en un subproceso en segundo plano, lo que permite que el trabajo requerido en el subproceso de llamada se realice en segundo plano.
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() } } } }
Nota: Cuando se llama a MobileAds.initialize() en un subproceso en segundo plano, ya no se requiere el parámetro OPTIMIZE_INITIALIZATION del manifiesto.
2. Habilita el parámetro de configuración de optimización para la carga de anuncios
Si habilitas la marca de manifiesto OPTIMIZE_AD_LOADING, puedes descargar la mayoría de las tareas de carga de anuncios en un subproceso en segundo plano. Te recomendamos que habilites este parámetro en el archivo AndroidManifest.xml de tu app para reducir la cantidad de veces que la carga de anuncios provoca errores de ANR.
<manifest>
...
<application>
...
<meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING"
android:value="true"/>
</application>
</manifest>Actualizamos todas nuestras apps de ejemplo para Android para implementar estas prácticas recomendadas. Para obtener más detalles sobre los parámetros de inicialización y optimización, consulta Comienza a usar el SDK de anuncios de Google para dispositivos móviles y Optimiza la inicialización y la carga de anuncios. Comunícate con nosotros si tienes alguna pregunta o necesitas ayuda adicional.
Etiquetas: ad-manager, admob, android, mobile-ads-sdk