Comment publier son application sur le Google Play Store – Flutter

Ça y est, votre application est terminée. Vous êtes fier de votre réalisation et vous voulez désormais la faire connaître au monde entier.

Ajouter un icone à votre application

Créer un icone

Avant de créer votre icone, vous devez suivre les recommandations en anglais du Material Design product icons pour vous assurer qu’il respecte les normes.

Ensuite laissez place à votre inventivité. Pour que votre icone soit facilement réutilisable à tous les stades de la publication de votre application, je vous conseille de créer un fichier de 512X512. Le meilleur logiciel pour créer un résultat propre est d’utiliser la suite adobe Photoshop et Illustrator (Photoshop suffira dans la plupart des cas).

Créez un icone 512X512 aux angles carrés. Puis un aux angles arrondis (à partir d’un patron que vous pourrez trouvez sur google en tapant « radius border icon app ») que vous nommerez « "launcher_icon"« .

Insérez votre icone dans le fichier de votre application

Allez dans le fichier de votre application et créez un docdment « assets ». Dans ce document assets, créez un document « icon ». Dans ce document « icon », insérez, le fichier « icon.png » créé précédemment.

Ensuite télécharger le plugin « flutter_launcher_icons » sur pub.dev. Allez dans votre fichier « pubsec.yaml » et ajouter y les lignes suivantes:

dev_dependencies: 
  flutter_test:
    sdk: flutter

  flutter_launcher_icons: "la version la plus récente du package"

flutter_icons:
  image_path: "assets/icon/icon.png" 
  android: true
  ios: true

Puis ensuite ouvrez votre terminal et entrez:

flutter pub get
flutter pub run flutter_launcher_icons:main

Signez votre application

Pour pouvoir publier votre application, vous devez la signer. Au delà du fait que cela est obligatoire, c’est utile car c’est ce qui vous identifie comme créateur de l’application et c’est ce qui vous permet de mettre à jour votre application.

Créez un fichier keystore

Vous devez copier le code suivant dans votre terminal. Notez que vous devrez peut être coller ce code en deux parties dans votre terminal car le changement de ligne peut mal passer dans votre terminal. Le moindre espace peut faire rater l’opération. De mon coté j’ai chois de loger mon fichier Keystore au sein de mon fichier à l’adresse suivante: le_nom_de_votre_application\android\app

Pour Windows:

keytool -genkey -v -keystore c:/le chemin ou vous voulez mettre votre key/key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias key

Pour Mac/Linux:

keytool -genkey -v -keystore le chemin qui mènera à votre fichier keystore/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

Notez qu’il est possible que votre ordinateur vous demande d’installer un jdk. Vous pouvez en télécharger un sur le lien suivant.

Veillez aussi à ne pas laisser d’espaces dans le chemin qui mène à l’emplacement où sera créé votre key.jks . Par exemple il se peut que les espaces dans votre chemin ne soient pas bien pris en compte par le terminal est que vous obteniez des erreurs. Ainsi, veillez à remplacer les espaces par un tiret du bas « _ ».

Par exemple changez:

/Users/macbookpro/Documents/Flutter Projects

En:

/Users/macbookpro/Documents/Flutter_Projects

Cet exemple utilise un chemin d’accès sous macOs mais la logique est la même si vous êtes sous windows

Créez le fichier référence de votre keystore

Créez un fichier « key.properties » avec le chemin suivant: le_nom_de_votre_application /android/key.properties

Coller le code suivant dans ce nouveau fichier key.properties:

storePassword= créez votre storepassword
keyPassword= créez un keyPassword
keyAlias=key
storeFile= Entrez le chemin de votre key.jks comme cela par exemple C:/Users/computer/key.jks

Tapez directement ces informations après le  » =  » sans espace.

Configurez la signature dans le fichier gradle

Rendez vous au fichier  » build.gradle  » sous le dossier app de votre application comme suit: chemin_de_votre_application/android/app/build.gradle

Remplacez:

android {

Par:

   def keystoreProperties = new Properties()
   def keystorePropertiesFile = rootProject.file('key.properties')
   if (keystorePropertiesFile.exists()) {
       keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
   }

   android {

Aide: Votre remplacement devrait se faire au niveau de la ligne 28 du fichier build.gradle du document app.

Puis, Remplacez (au niveau de la ligne 54 du même fichier:

   buildTypes {
       release {
           // TODO: Add your own signing config for the release build.
           // Signing with the debug keys for now,
           // so `flutter run --release` works.
           signingConfig signingConfigs.debug
       }
   }

Par:

   signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile file(keystoreProperties['storeFile'])
           storePassword keystoreProperties['storePassword']
       }
   }
   buildTypes {
       release {
           signingConfig signingConfigs.release
       }
   }

Ajoutez Proguard

EDIT: Cette étape n’est plus nécessaire, en effet, votre code est désormais directement protégé lors de la conception du build de votre APK ou AAB. Vous pouvez directement passer à l’étape suivante.

Proguard n’est pas obligatoire mais il permet de réduire la taille de votre application et protège votre code de la rétro-ingénierie (ou reverse-engineering en anglais qui est le fait dans ce cas d’étudier le comportement de votre code pour déterminer son fonctionnement et pour par exemple le copier).

Créez un fichier Prodguard à l’adresse suivante: votre_application/android/app/proguard-rules.pro et ajouter y les règles suivantes:

## Flutter wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }
-dontwarn io.flutter.embedding.**

Retournez à votre fichier build.gradle dans /android/app/build.gradle et remplacez sous la section android {}, la partie buildTypes{} par celle-ci:

    buildTypes {

        release {

            signingConfig signingConfigs.release

            minifyEnabled true
            useProguard true

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }

Vérifier que le nom de votre application est le bon

Rendez vous à l’adresse suivante votre_application/android/app/src/main et ouvrez le fichier  » AndroidManifest.xml « . Assurez vous que le nom de votre package est le bon tout en haut du fichier.

Par convention le nom du package doit ressembler à ceci:

com.NomDeVotreEntreprise.NomDeVotreApplication donc dans mon cas: com.neptuneapplications.followersanalyticsfortwitter

Assurez vous aussi que le nom de votre application tel qu’il apparaîtra lorsqu’il sera dans le smartphone est le bon. Pour cela, éditez le  » android:label= « . Dans mon cas j’entre donc: android:label= »Followers Analytics for Twitter »

N’oubliez pas non plus de modifier le nom de votre application dans le fichier build.gradle dans le document app de votre projet. Veillez à bien fermer le fichier une fois terminer pour qu’il s’enregistre.

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.NomDeVotreApplication.NomdeVotreOrganisation"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

Préparez le fichier à publier

Ça y est, c’est la fin nous sommes tout proche du but. Pour gagner de l’espace et optimiser votre application, je vous recommande de contruire votre fichier sous le format AAB plutôt qu’APK(fichier plus volumineux).

Dans le terminal de votre application entrez la commande suivante:  » flutter build appbundle « . Patientez jusqu’à la fin du processus. Votre fichier .aab se situera au chemin suivant: votre_application\build\app\outputs\bundle\release

Mettre à jour votre application

Pour les futures mises à jour, vous aurez simplement à modifier le nom de la version de votre fichier au sein du pupsec.yaml en remplaçant le paramètre « version » par « version: 1.0.0+1 » puis +2 et ainsi de suite…Enfin, vous n’aurez qu’a relancer la commande « flutter build appbundle » à partir de votre terminal.

Et voilà, vous n’avez plus qu’a téléverser votre fichier AAB dans la page dédiée à votre application sur le Google Play Store!

Laisser un commentaire