Recientemente, puede haber recibido un correo electrónico de la Tienda de Google Play que decía lo siguiente:
Actualice su dependencia de Maven de Play Core a una versión compatible con Android 14. Su biblioteca actual de Play Core es incompatible con targetSdkVersion 34 (Android 14), que introduce una modificación no compatible con la versión anterior en los receptores de difusión para mejorar la seguridad del usuario. Como recordatorio, a partir del 31 de agosto, Google Play requiere que todas las nuevas publicaciones de aplicaciones targeten Android 14. Actualice a la versión más reciente de la dependencia de la biblioteca de Play Core para evitar fallas en la aplicación: https://developer.android.com/guide/playcore#playcore-migration
Puede que no pueda publicar futuras versiones de su aplicación con esta versión de la SDK en producción o en pruebas abiertas.
¿Sembró miedo, verdad?
No se preocupe tanto. En realidad, es más fácil de lo que parece.
Qué es lo que se Trata Realmente de la Modificación
Básicamente, Google dejó de lanzar nuevas versiones de la biblioteca de play core a principios de 2022.
Última versión de la biblioteca de play core lanzada
Y a partir de abril de 2022, han desglosado la biblioteca original de play core en cuatro bibliotecas separadas:
- Biblioteca de Entrega de Activos de Play
- Biblioteca de Entrega de Características de Play
- Biblioteca de Revisión en Aplicación de Play
- Biblioteca de Actualizaciones en Aplicación de Play
Cada biblioteca tiene su propia funcionalidad y responsabilidad.
Dado que la biblioteca central vieja de Play solo soporta hasta un cierto nivel de API, necesitas migrar tu aplicación para usar las bibliotecas más recientes que tienen soporte para los niveles de API más recientes.
En esencia, necesitas averiguar qué funcionalidad utilizas de la biblioteca central original de Play y luego descargar la parte correcta. Por ejemplo, si tuviste lógica para notificar a los usuarios cuando una versión más nueva de tu aplicación está disponible, necesitas tomar la biblioteca de Actualizaciones en Aplicación de Play.
Aquí presentaremos dos casos de uso:
- Aplicación nativa Android
- Aplicación Flutter
Caso de uso – Aplicación nativa Android
Si tienes una aplicación nativa Android, ya sea que esté escrita en Kotlin o Java, necesitas hacer lo siguiente:
- Abre el archivo build.gradle de nivel de aplicación de tu aplicación
- Probablemente verás en el bloque de dependencias, esta línea:
implementation 'com.google.android.play:core-ktx:1.8.1'
-
Necesitarás eliminarla y reemplazarla según lo que utilizaste en la biblioteca central anterior
-
Si necesitas tomar la biblioteca de Actualizaciones en Aplicación de Play, entonces necesitas agregar esto al bloque de dependencias:
implementation 'com.google.android.play:app-update:2.1.0'
//Agrega la dependencia de abajo si estás usando Kotlin en tu aplicación
implementation 'com.google.android.play:app-update-ktx:2.1.0'
- Reconstruya su aplicación y vea que todo funciona como debería.
✋ También podría necesitar cambiar las declaraciones de importación de import com.google.android.play.core.tasks.*; a import com.google.android.gms.tasks.*;.
Caso de Uso – Aplicación Flutter
Desde que Flutter es un marco que atiende tanto a Android como a iOS, este escenario es un poco diferente al de arriba. Si recibe la advertencia de actualizar la biblioteca principal de play en su aplicación Flutter, necesita mirar las bibliotecas que está usando en su archivo pubspec.yaml:
dependencies:
flutter:
sdk: flutter
...
in_app_update: ^3.0.0
Como puede ver arriba, la aplicación depende de la biblioteca in_app_update, que tiene que ver con notificar a los usuarios cuando hay una versión más nueva de la aplicación disponible. Cuando vamos a la página de registro de cambios de in_app_update en pub.dev, podemos ver que:
la versión 4.1.0 agregó el soporte requerido
Por lo tanto, necesitamos actualizar nuestro archivo pubspec.yaml para usar esa versión (al menos).
dependencies:
flutter:
sdk: flutter
...
in_app_update: ^4.1.0
Ejecute Pub get y debería estar listo.
Source:
https://www.freecodecamp.org/news/migrate-from-play-core-library/