Vous avez peut-être récemment reçu un courriel de la part de la Google Play Store indiquant ce qui suit :

Mettez à jour votre dépendance Maven de Play Core vers une version compatible avec Android 14 ! Votre bibliothèque actuelle de Play Core n’est pas compatible avec targetSdkVersion 34 (Android 14), ce qui introduit une modification non compatible en arrière pour les récepteurs de broadcast afin d’améliorer la sécurité des utilisateurs. En rappel, à compter du 31 août, Google Play exige que toutes les nouvelles publications d’applications ciblent Android 14. Mettez à jour à la dernière version de la bibliothèque de Play Core pour éviter les plantages d’applications : https://developer.android.com/guide/playcore#playcore-migration

Vous ne pourrez peut-être pas publier les futures versions de votre application avec cette version de l’SDK en production ou en test ouvert.

Cela peut sembler terriblement intimidant, n’est-ce pas ?

N’ayez pas peur. C’est en fait plus simple qu’il n’y paraît.

Qu’est-ce que la modification réellelement concerne ?

En gros, Google a arrêté la publication de nouvelles versions de la bibliothèque de Play Core dès le début de 2022.


Dernière version de la bibliothèque de Play Core publiée

Et depuis avril 2022, ils ont fractionné la bibliothèque de Play Core originale en quatre bibliothèques distinctes :

  • Play Assets Delivery Library
  • Play Feature Delivery Library
  • Play In-App Reviews Library
  • Play In-App Updates Library

Chaque bibliothèque a ses propres fonctionnalités et responsabilités.

Puisque la version plus ancienne de la bibliothèque principale de Play ne supporte que jusqu’à un certain niveau d’API, vous devez migrer votre application pour utiliser les nouvelles bibliothèques qui offrent le support pour les derniers niveaux d’API.

En essence, vous devez identifier quelles fonctionnalités de la bibliothèque principale de Play originale vous utilisez et ensuite télécharger la partie correcte. Par exemple, si vous aviez une logique pour notifier les utilisateurs qu’une nouvelle version de votre application était disponible, vous devez utiliser la bibliothèque Play In-App-Updates.

Nous présenterons ici deux cas d’utilisation :

  • Application native Android
  • Application Flutter

Cas d’utilisation – Application native Android

Si vous avez une application native Android, écrite en Kotlin ou en Java, vous devez faire les actions suivantes :

  1. Ouvrez votre fichier build.gradle de niveau d’application
  2. Il est probable que vous verrez dans le bloc dépendances, cette ligne :
implementation 'com.google.android.play:core-ktx:1.8.1'
  1. Vous devrez l’enlever et le remplacer selon ce que vous utilisez dans la bibliothèque principale précédente

  2. Si vous devez utiliser la bibliothèque Play In-App-Updates, alors vous devez ajouter ceci au bloc dépendances :

implementation 'com.google.android.play:app-update:2.1.0'
//Ajoutez la dépendance ci-dessous si vous utilisez Kotlin dans votre application
implementation 'com.google.android.play:app-update-ktx:2.1.0'
  1. Reconstruisez votre application et voyez que tout fonctionne comme il se doit.

✋ Vous pourriez également avoir besoin de changer les déclarations d’importation de import com.google.android.play.core.tasks.*; à import com.google.android.gms.tasks.*;.

Cas d’utilisation – Application Flutter

Comme Flutter est un framework qui s’adresse à la fois à Android et à iOS, ce scénario est un peu différent de celui qui précède. Si vous recevez l’avertissement de mettre à jour la bibliothèque core play dans votre application Flutter, vous devez jeter un œil aux bibliothèques que vous utilisez dans votre fichier pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  ...
  in_app_update: ^3.0.0

Comme vous pouvez le voir ci-dessus, l’application dépend de la bibliothèque in_app_update, qui a pour but de notifier les utilisateurs lorsqu’une version plus récente de l’application est disponible. Lorsque nous nous rendons sur la page pub.dev de in_app_update changelog, nous pouvons voir que :


la version 4.1.0 a ajouté le support requis

Nous devons donc mettre à jour notre fichier pubspec.yaml pour utiliser cette version (au minimum).

dependencies:
  flutter:
    sdk: flutter
  ...
  in_app_update: ^4.1.0

Exécutez Pub get et vous devriez être prêt.