Tutoriel Fastlane pour Android: Mise en route

Online Coding Courses for Kids

Note de mise à jour: Nishant Srivastava a mis à jour ce tutoriel. James Nocentini a écrit l’original.

Le développement d’applications Android comporte de nombreux aspects, notamment la création de versions, la capture d’écran et la mise à jour des métadonnées dans Google Play Store. La bonne nouvelle est que vous pouvez automatiser ces tâches, laissant les développeurs consacrer leur temps à des tâches plus importantes telles que l’ajout de fonctionnalités et la correction de bogues.

Fastlane vous permet de faire tout cela de manière efficace et répétée. Il s’agit d’un outil open source visant à simplifier le déploiement d’Android et iOS. Fastlane vous permet d’automatiser tous les aspects de vos flux de travail de développement et de publication.

Dans ce didacticiel, vous apprendrez à automatiser les tâches courantes à l’aide voie rapide. À la fin, vous saurez comment:

  • Configurer fastlane dans un projet existant.
  • Automatisez les captures d’écran des applications.
  • Utilisez Firebase App Distribution pour distribuer votre application aux bêta-testeurs.
  • Téléchargez du matériel marketing à partir de la ligne de commande.
  • Publiez facilement des notes de publication ou un journal des modifications.

Commencer

Pour commencer, téléchargez le projet de démarrage en utilisant le Télécharger les documents en haut ou en bas de ce didacticiel.

Ouvrez le projet dans Android Studio, puis créez et exécutez l’application. Vous verrez quelque chose comme ceci:
Écran principal de l'application RWMaggic8Ball, montrant une boule Magic 8

Cette application permet aux utilisateurs de cliquer sur le DEMANDER et recevez une réponse aléatoire.

L’application est prête à être emballée et partagée avec des bêta-testeurs. Il est temps de commencer ces tâches!

Installation de Fastlane

Avant d’installer Fastlane, vous devez avoir Ruby version 2.5.1 ou supérieur installé. Vérifiez votre version Ruby en entrant cette commande dans Terminal:

ruby -v

Pour installer ou mettre à jour Ruby avec Homebrew, consultez notre didacticiel iOS, Fastlane Tutorial: Getting Started, pour obtenir des instructions.

Ensuite, installez fastlane et exécutez la commande suivante dans le terminal:

sudo gem install fastlane -NV

Très bien, vous êtes prêt à commencer dès maintenant!

Nommer votre colis

Le nom de votre package doit être unique dans Google Play. Donnez au projet de démarrage un nouveau nom de package avant de commencer à utiliser Fastlane.

Pour ce faire, suivez les étapes décrites dans le Commencer section de notre tutoriel, Tutoriel de distribution d’applications Android: de zéro à Google Play Store.

Générez et exécutez pour vérifier que votre application fonctionne correctement avec son nouveau nom de package.

Écran principal de l'application RWMaggic8Ball, montrant une boule Magic 8 affichant la réponse oui

Maintenant, vous êtes prêt à travailler avec Fastlane.

Configuration de Fastlane

Dans cette section, vous suivrez les étapes de la configuration de Fastlane documentation pour initialiser fastlane dans un nouveau projet.

Tout d’abord, entrez cette commande dans le terminal:

Remarque: Si vous rencontrez des problèmes d’autorisation lors de l’exécution d’une commande, préfixez la commande avec sudo.

fastlane init

Lorsque vous y êtes invité Nom du package (com.krausefx.app), entrez le nouveau nom de package unique de votre application. Pour l’exemple d’application, c’est com.raywenderlich.android.rwmagic8ball.

Lorsque vous voyez l’invite pour le Chemin d’accès au fichier secret JSON, presse Entrer passer. Vous vous en occuperez plus tard.

Ensuite, vous verrez l’invite: Envisagez-vous de télécharger des métadonnées, des captures d’écran et des versions sur Google Play à l’aide de Fastlane?. presse n. Vous configurerez cette option ultérieurement.

Vous recevrez plusieurs invites supplémentaires. presse Entrer continuer. Lorsque vous avez terminé, exécutez cette commande pour essayer votre nouvelle configuration Fastlane:

fastlane test

Vous avez créé un nouveau répertoire fastlane contenant deux fichiers: Appfile et Fastfile. Vous les utiliserez dans les sections suivantes pour configurer Fastlane.

Configuration de Fastlane

fastlane utilise un Fastfile pour stocker sa configuration d’automatisation. Ouvert Fastfile et vous verrez:

default_platform(:android)

platform :android do
  desc "Runs all the tests"
  lane :test do
    gradle(task: "test")
  end

  desc "Submit a new Beta Build to Crashlytics Beta"
  lane :beta do
    gradle(task: "clean assembleRelease")
    crashlytics
  
    # sh "your_script.sh"
    # You can also use other beta testing services here
  end

  desc "Deploy a new version to the Google Play"
  lane :deploy do
    gradle(task: "clean assembleRelease")
    upload_to_play_store
  end
end

groupes Fastlane différents Actions dans voies. Une voie commence par lane :name, où name est le nom donné à une voie. Dans ce fichier, vous verrez trois voies différentes: tester, bêta et déployer.

Voici une explication des actions que chaque piste effectue:

  • tester: Exécute tous les tests du projet à l’aide du Gradle action. Vous n’utiliserez pas cette voie dans ce didacticiel.
  • bêta: Soumet une version bêta à Firebase App Distribution à l’aide de la gradle action suivie de la crashlytics action.
  • déployer: Déploie une nouvelle version sur Google Play à l’aide du gradle action suivie de la upload_to_play_store action.

Pour exécuter une voie, vous devez exécuter fastlane lane est la voie à exécuter.

Dans les sections suivantes, vous allez modifier les voies disponibles avec des actions de voie rapide pour personnaliser la configuration de RWMagic8Ball.

Modification de la voie du bâtiment

dans le Fastfile, modifier platform :android do ajouter un nouveau build voie après la test voie:

desc "Build"
lane :build do
  gradle(task: "clean assembleRelease")
end

Exécutez le build voie du terminal:

bundle exec fastlane build

Lorsque la commande s’exécute avec succès, vous verrez ce qui suit à la fin de la sortie de la commande:

[13:37:40]: fastlane.tools finished successfully 🎉

Utiliser Screengrab

Fastlane’s capture d’écran est une action qui génère des captures d’écran localisées de votre application Android pour différents types d’appareils et langues. Dans cette section, vous apprendrez à l’utiliser pour créer des captures d’écran.

Pour utiliser l’outil de capture d’écran, vous devez d’abord installer l’outil de ligne de commande:

sudo gem install screengrab

Ensuite, vous devez ajouter les autorisations ci-dessous à AndroidManifest.xml:

 
  
  

  
  
  

  
  

Maintenant que fastlane dispose des autorisations nécessaires, vous pouvez passer à l’automatisation.

Configuration de l’animation de capture d’écran

Sous Android, vous configurez l’automatisation des captures d’écran sur Test d’instrumentation chaîne d’outils. Avant de commencer, vous devez installer les dépendances nécessaires.

Ouvert app / build.gradle et ajoutez ce qui suit dans dependencies:

testImplementation 'junit:junit:4.13'

androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test:rules:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

androidTestImplementation 'tools.fastlane:screengrab:2.0.0'

À l’intérieur de defaultConfig bloquer, ajouter testInstrumentationRunner:

testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'

Ces dépendances sont nécessaires à fastlane pour exécuter les tests et effectuer les captures d’écran. Synchronisez Gradle avant de continuer.

Configuration des tests d’instrumentation

Aller vers app / src / androidTest / pour trouver les tests d’instrumentation.

Pour créer un nouveau fichier de test d’instrumentation, faites un clic droit sur et sélectionnez Nouveau ▸ Fichier / Classe Kotlin:

Création d'un nouveau fichier / classe Kotlin

Pour le Nom dans la fenêtre pop-up, entrez ExampleInstrumentedTest, sélectionnez Classe et appuyez sur Entrer:

Nommer et créer un fichier de classe

Ensuite, implémentez ExampleInstrumentedTest en ajoutant ce qui suit à la classe nouvellement créée:

import androidx.test.espresso.Espresso
import androidx.test.espresso.action.ViewActions
import androidx.test.espresso.assertion.ViewAssertions
import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.rule.ActivityTestRule
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import tools.fastlane.screengrab.Screengrab
import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy
import tools.fastlane.screengrab.locale.LocaleTestRule

@RunWith(JUnit4::class)
class ExampleInstrumentedTest {

    // JVMField needed!
    @Rule @JvmField
    val localeTestRule = LocaleTestRule()

    @get:Rule
    var activityRule = ActivityTestRule(MainActivity::class.java, false, false)

    @Test
    fun testTakeScreenshot() {
        activityRule.launchActivity(null)
        //1
        Screengrab.setDefaultScreenshotStrategy(UiAutomatorScreenshotStrategy())

        Espresso.onView(ViewMatchers.withId(R.id.askButton))
            .check(ViewAssertions.matches(ViewMatchers.isDisplayed()))
        //2
        Screengrab.screenshot("rwmagic8ball_beforeFabClick")
        
        //3
        Espresso.onView(ViewMatchers.withId(R.id.askButton))
                                    .perform(ViewActions.click())
        
        //4
        Screengrab.screenshot("rwmagic8ball_afterFabClick")
    }
}

Le code ci-dessus contient un JUnit 4 tester. La fonction de test testTakeScreenshot() effectue la magie. Il:

  1. Se prépare à prendre une capture d’écran de l’application.
  2. Prend une capture d’écran du premier écran.
  3. Sélectionne le Demander bouton et déclenche un clic dessus.
  4. Prend une autre capture d’écran.

Comme pour les tests d’instrumentation sur Android, lorsque vous installez un package APK distinct, il installe le test APK pour piloter l’automatisation de l’interface utilisateur.

Exécutez cette commande:

./gradlew assembleDebug assembleAndroidTest

Cela assemble et teste l’APK.

Une fois la commande terminée, vous verrez le fichier APK normal enregistré sous app / build / sorties / apk / debug / app-debug.apk. En attendant, vous trouverez le fichier APK de test sous app / build / sorties / apk / androidTest / debug / app-debug-androidTest.apk.

Maintenant que vous avez créé les fichiers APK, vous allez configurer la capture d’écran Fastlane pour créer automatiquement les captures d’écran!

Création de captures d’écran

L’automatisation du processus de génération de captures d’écran fait gagner beaucoup de temps. Maintenant, vous allez pouvoir l’essayer.

Comme mentionné dans le documentation fastlane, vous enregistrerez la configuration de capture d’écran dans un Screengrabfile.

Exécutez la commande suivante:

bundle exec fastlane screengrab init

Cela crée le fichier de capture d’écran.

Maintenant, remplacez le contenu du fastlane / Screengrabfile avec les éléments suivants:

# 1
android_home('$PATH')

# 2
use_adb_root(true)

# 3
app_package_name('com.raywenderlich.android.rwmagic8ball')

# 4
app_apk_path('app/build/outputs/apk/debug/app-debug.apk')
tests_apk_path('app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk')

# 5
locales(['en-US', 'fr-FR', 'it-IT'])

# 6
clear_previous_screenshots(true)

Voici ce qui se passe:

  1. android_home: Définit le chemin d’accès au SDK Android doté des outils de ligne de commande.
  2. use_adb_root: Départs adb en mode racine, vous donnant des autorisations élevées pour écrire sur le périphérique.
  3. app_package_name: Définit le nom de package unique de votre application.
  4. app_apk_path et tests_apk_path: Le chemin d’accès au fichier APK de l’application et aux fichiers APK de test, que vous avez créés dans la section précédente.
  5. locales: Désigne les zones où vous souhaitez créer des captures d’écran. Ici, il crée des captures d’écran pour les paramètres régionaux anglais, français et italien.
  6. clear_previous_screenshots: Si réglé sur true, cela efface toutes les captures d’écran générées précédemment dans votre répertoire de sortie local avant d’en créer de nouvelles.

Test dans un émulateur ou un périphérique

Pour tester, vous devez démarrer un émulateur ou un appareil.

Remarque: Si vous exécutez un émulateur avec API 24 ou supérieur, vous devez le configurer avec le API Google cible. Un émulateur avec jeu de Google ne fonctionnera pas parce que adb doit s’exécuter en tant que root. C’est seulement possible avec le API Google cible.

Cependant, si vous exécutez un périphérique ou un émulateur avec API 23 ou ci-dessous, l’une ou l’autre option fonctionnera. Voir commentaire # 15788 sous problèmes de fastlane pour plus d’informations.

Pour vérifier la cible d’un émulateur existant, ouvrez AVD Manager et lisez le Cible colonne:

Cibles dans la fenêtre Votre appareil virtuel

Ensuite, vous devez vous assurer que vous avez adb et aapt sur votre chemin. Il existe de nombreuses façons de configurer le chemin; ceux-ci diffèrent en fonction du système d’exploitation que vous utilisez. Pour le configurer dans votre session de terminal actuelle, exécutez simplement le code ci-dessous, en étant sûr d’utiliser le bon chemin selon votre configuration SDK Android:

# Path to Android SDK
export ANDROID_HOME=$HOME/Library/Android/sdk

# Path to Android platform tools (adb, fastboot, etc)
export ANDROID_PLATFORM_TOOLS="$ANDROID_HOME/platform-tools"

# Path to Android tools (aapt, apksigner, zipalign, etc)
export ANDROID_TOOLS="$ANDROID_HOME/build-tools/29.0.3/"

# Add all to the path
export PATH="$PATH:$ANDROID_PLATFORM_TOOLS:$ANDROID_TOOLS"

Ici, vous vous assurez que tous les outils du SDK Android sont disponibles dans le chemin.

Remarquer ANDROID_TOOLS fait référence au outils de construction dossier pour la version 29.0.3. Assurez-vous de spécifier la version dont vous disposez.

Une fois l’émulateur ou le périphérique démarré, exécutez cette commande dans le dossier racine du projet:

bundle exec fastlane screengrab

Cela démarre le processus de capture d’écran. À l’heure actuelle, cela générera des erreurs; Ignore les. Finalement, il se terminera et votre navigateur par défaut ouvrira un nouvel onglet pour afficher les captures d’écran pour chaque paramètre régional.

Différentes captures d'écran basées sur les paramètres régionaux

Toutes nos félicitations! Vous avez créé des captures d’écran pour RWMagic8Ball avec fastlane pour le Play Store!

Mais avant de passer au sujet suivant, il vous reste une étape à terminer: créer une voie pour regrouper plusieurs commandes en une seule.

Ajout d’une voie

Ouvert Fastfile et ajoutez le build_for_screengrab voie sous la build voie:

desc "Build debug and test APK for screenshots"
lane :build_for_screengrab do
  gradle(
    task: 'clean'
  )
  gradle(
    task: 'assemble',
    build_type: 'Debug'
  )
  gradle(
    task: 'assemble',
    build_type: 'AndroidTest'
  )
end

A partir de maintenant, vous pouvez créer de nouvelles captures d’écran avec les commandes ci-dessous:

bundle exec fastlane build_for_screengrab && bundle exec fastlane screengrab

Parfait. Maintenant, il est temps de distribuer votre application!

Automatiser la distribution des applications

La beauté de fastlane est que vous pouvez facilement basculer vers différents fournisseurs bêta, ou même télécharger vers plusieurs fournisseurs à la fois, avec une configuration minimale.

Dans les sections suivantes, vous allez configurer fastlane avec deux fournisseurs de distribution d’applications:

  • Tests bêta: Une fois que vous avez une nouvelle fonctionnalité prête, vous souhaiterez la partager avec les bêta-testeurs pour recueillir des commentaires avant de la publier sur le Play Store. Pour ce faire, vous utiliserez le Service de distribution d’applications Firebase. Notez que ce service est actuellement en version bêta; il a remplacé le service Crashlytics. En savoir plus sur le site officiel de Firebase.
  • Play Store: Fastlane fournit le upload_to_play_store action pour télécharger des métadonnées, des captures d’écran et des fichiers binaires sur le Play Store.

Pour télécharger une version sur Google Play, utilisez le approvisionnement fastlane action.

Google Play propose différentes pistes de sortie, ce qui est pratique lorsque vous souhaitez envoyer une version à un ensemble sélectionné de premiers testeurs.

Les pistes disponibles sont: test ouvert, fermé et interne. De plus amples informations sont disponibles sur Aide Play Console docs.

La valeur par défaut du fastlane track le paramètre est production.

Utilisation de Firebase CLI

Votre prochaine étape consiste à distribuer des versions aux testeurs avec Distribution d’applications Firebase. Bien que le Play Store offre des fonctionnalités similaires via le interne et bêta vous verrez que Firebase App Distribution offre une meilleure expérience de gestion des utilisateurs lorsque vous téléchargez une nouvelle version de votre application.

Pour utiliser Firebase App Distribution, créez d’abord un projet Firebase.

Visiter le Site Web de Firebase. Vous verrez quelque chose comme ceci:

Site principal du site Web de Firebase

Pour commencer, cliquez sur le Accéder à la console sur le côté supérieur droit de l’écran. Vous devrez peut-être vous connecter avec Google.

Créez un nouveau projet Firebase en cliquant sur Ajouter un projet:

Carte blanche avec un symbole plus et la possibilité d'ajouter un projet Firebase

Pour ce didacticiel, utilisez RWMagic8Ball pour le nom du projet. Votre configuration ressemblera à ceci:

Ajout du projet RWMagic8Ball à Firebase

Lisez et acceptez les conditions, si nécessaire, et cliquez sur Créer un projet. Vous verrez un message indiquant que votre nouveau projet est prêt.

Cliquez sur Continuer pour afficher le tableau de bord du projet.

Lorsque fastlane télécharge une version sur Firebase App Distribution, il utilise l’interface CLI Firebase pour se connecter aux serveurs Firebase. Installer ou mettre à jour la dernière version de CLI Firebase pour votre système d’exploitation.

Une fois l’installation terminée, exécutez cette commande pour vous connecter à votre compte Firebase:

firebase login

Installation du plugin Fastlane

Vous êtes maintenant prêt à configurer Fastlane avec Firebase App Distribution.

Exécutez la commande suivante:

bundle exec fastlane add_plugin firebase_app_distribution

Cela installe le plugin Firebase pour Fastlane.

Vous verrez une invite comme celle-ci:

[07:49:07]: Plugin 'fastlane-plugin-firebase_app_distribution' was added to './fastlane/Pluginfile'
[07:49:07]: It looks like fastlane plugins are not yet set up for this project.
[07:49:07]: fastlane will modify your existing Gemfile at path '/Users/jamesnocentini/Documents/project/rw/rwmagic8ball/RWMagic8Ball-final/Gemfile'
[07:49:07]: This change is necessary for fastlane plugins to work
[07:49:07]: Should fastlane modify the Gemfile at path
'/Users/jamesnocentini/Documents/project/rw/rwmagic8ball/RWMagic8Ball-final/Gemfile' for you? (y/n)

presse y pour continuer et installer le plugin.

Ouvrez le Console Firebase pour ajouter l’application Android à votre projet. Sélectionnez votre projet et cliquez sur Ajoutez Firebase à votre application Android.

Cliquez sur l'icône Android pour ajouter Firebase à votre application Android

Saisissez le nom de votre package et cliquez sur Enregistrer l’application. Touche SHA peut être vide pour l’instant; vous n’en avez besoin que lorsque vous signez un fichier APK.

Options pour enregistrer votre application avec Firebase

Suivez les instructions pour ajouter google-services.json à votre projet, puis cliquez sur Prochain.

Ajouter google-services.json à votre projet

Suivez les instructions pour ajouter le SDK Firebase à votre projet et cliquez sur Prochain.

Ajout du SDK Firebase à votre projet

Une fois installé, ouvrez le Page Paramètres généraux pour le projet. Faites défiler jusqu’à Vos applis section. Notez l’ID de l’application – vous en aurez besoin pour configurer fastlane ultérieurement.

Emplacement de l'ID d'application dans la section Vos applications

Vous êtes maintenant prêt à utiliser Firebase pour envoyer différentes versions de votre application à différents groupes de testeurs.

Groupes de tests

Firebase App Distribution vous permet de créer des groupes avec différents utilisateurs et de spécifier quel groupe doit recevoir chaque version de build.

Pour implémenter cela, accédez à l’onglet Distribution d’applications:

Directions pour accéder aux options de distribution d'applications

Allez au Testeurs et groupes onglet et cliquez Ajouter un groupe. Nommez le premier groupe: Groupe un.

Ensuite, cliquez sur Ajouter un groupe à nouveau et ajoutez un deuxième groupe nommé Groupe deux.

Enfin, cliquez sur Ajouter des testeurs et entrez votre adresse e-mail pour vous ajouter en tant que testeur.

Où ajouter des groupes

Vous êtes maintenant prêt à télécharger votre première version avec fastlane.

Déploiement pour les tests bêta

Ouvert Fastfile et remplacer le beta voie avec ce qui suit, en veillant à remplacer app avec l’ID d’application que vous avez copié précédemment:

desc "Submit a new Beta Build to Firebase App Distribution"
lane :beta do
  build

  firebase_app_distribution(
      app: "1:123456789:android:abcd1234",
      groups: "group-two",
      release_notes: "Lots of amazing new features to test out!"
  )
end

Le code ci-dessus configure le beta voie pour le groupe-deux groupe de test. Vous pouvez en savoir plus sur les paramètres disponibles dans le firebase_app_distribution action dans le Documentation Firebase.

Exécutez le beta voie:

bundle exec fastlane beta

Une fois le téléchargement terminé, vous verrez la sortie de commande suivante:

[08:28:48]: ---------------------------------------
[08:28:48]: --- Step: firebase_app_distribution ---
[08:28:48]: ---------------------------------------
[08:28:51]: ▸ i  getting app details...
[08:28:54]: ▸ i  uploading distribution...
[08:29:29]: ▸ ✔  uploaded distribution successfully!
[08:29:29]: ▸ i  adding release notes...
[08:29:30]: ▸ ✔  added release notes successfully
[08:29:30]: ▸ ⚠  no testers or groups specified, skipping

+------+------------------------------+-------------+
|                 fastlane summary                  |
+------+------------------------------+-------------+
| Step | Action                       | Time (in s) |
+------+------------------------------+-------------+
| 1    | default_platform             | 0           |
| 2    | Switch to android build lane | 0           |
| 3    | gradle                       | 53          |
| 4    | firebase_app_distribution    | 42          |
+------+------------------------------+-------------+

[08:29:31]: fastlane.tools finished successfully 🎉

La construction est maintenant visible sur le Onglet Distribution de l’application Firebase.

Voir votre build dans l'onglet Distribution Firebase App

Utilisateurs dans Groupe deux recevra des instructions par e-mail pour installer l’application, comme indiqué:

Instructions par e-mail pour installer la nouvelle version de l'application

Toutes nos félicitations! Vous avez utilisé Firebase App Distribution pour les tests bêta.

Dans la section suivante, vous apprendrez à faire de même avec la console Google Play.

Création des informations d’identification de la console Play

Remarque: Cette section vous oblige à configurer votre compte Google avec la console développeur de Google Play. Il y a des frais de 25 $ pour ce faire, ce qui vous permet également d’accéder à toutes les fonctionnalités du Play Store.

Vous pouvez en savoir plus sur l’association d’un compte et les frais d’inscription sur le Console Google Play site Internet.

Le projet est préconfiguré avec fastlane, mais pour le connecter au Play Store, vous devez le configurer avec les informations d’identification appropriées. Pour ce faire, vous aurez besoin d’un fichier de clé API. Il s’agit d’un fichier JSON qui contient les données d’identification que fastlane utilise en interne pour se connecter à votre compte Play Store.

Pour en obtenir un pour votre compte Play Store, procédez comme suit depuis le documentation fastlane:

  • Ouvrez le Console Google Play.
  • Dans le menu sur le côté gauche de la page, cliquez sur Paramètres, puis clique Accès API.
  • Faites défiler vers le bas de la page d’accès à l’API et cliquez sur le CRÉER UN COMPTE DE SERVICE bouton. Cette fenêtre apparaîtra:
    Fenêtre contextuelle Créer un compte de service
  • Dans la fenêtre contextuelle, cliquez sur le Console API Google lien. Cela ouvre un nouvel onglet ou une nouvelle fenêtre de navigateur:
    Fenêtre affichant vos comptes de service de développeur Android Google Play
    • Clique le + CRÉER UN COMPTE DE SERVICE bouton en haut de la Google Developers Console.
    • Fournir un Nom du compte de service – par exemple, fastlane-rw.
    • Clique le CRÉER bouton.
    • dans le Sélectionnez un rôle liste déroulante, choisissez Comptes de service> Utilisateur de compte de service.
    • Puis clique CONTINUER suivi par + CRÉER UNE CLÉ.
    • Sélectionner JSON pour le Type de clé sur le côté droit de la page, puis cliquez sur CRÉER.
    • Prenez note du nom de fichier du fichier JSON qui se télécharge sur votre ordinateur.
  • Revenez à l’onglet ou à la fenêtre du navigateur avec le Console Google Play.
    Fenêtre contextuelle Créer un compte de service
  • Cliquez sur TERMINÉ pour fermer la boîte de dialogue. Ensuite, vous verrez à nouveau la page d’accès à l’API:
    Page d'accès à l'API
  • Clique le Accorder l’accès pour le compte de service nouvellement ajouté.
  • Choisir Gestionnaire de versions ou Chef de produit du Role menu déroulant. Notez que le choix Gestionnaire de versions donne accès à la piste de production et à toutes les autres pistes. Choisir Chef de produit accorde l’accès à la mise à jour de toutes les pistes à l’exception de la piste de production.
  • Cliquez sur AJOUTER UN UTILISATEUR pour fermer la boîte de dialogue.

Toutes nos félicitations! Une fois ces étapes terminées, vous verrez le nouvel utilisateur ajouté sur le Utilisateurs et autorisations page:

Nouvel utilisateur sur la page Utilisateurs et autorisations

Retournez au Page d’accès à l’API et vous verrez votre nouveau compte avec ses autorisations:

Votre nouveau compte et ses autorisations sous Comptes de service

Vous disposez maintenant d’un fichier d’informations d’identification pour que fastlane se connecte à l’API Play Console. Exécutez cette commande:

bundle exec fastlane run validate_play_store_json_key json_key:/path/to/your/downloaded/file.json

Cela teste la connexion avec la clé privée que vous avez téléchargée.

Pour utiliser la clé dans ce projet, spécifiez le chemin d’accès à ce fichier d’informations d’identification dans le Appfile, que vous avez généré précédemment dans le didacticiel.

Renommez le fichier de clé privée en api-play-store-key.json. Déplacez-le vers le racine répertoire du projet. Ensuite, mettez à jour fastlane / Appfile avec la ligne suivante:

json_key_file("./api-play-store-key.json")

Terminé! Votre prochaine étape consiste à le télécharger sur la console Play.

Téléchargement sur Play Console

Si vous essayez de télécharger une version sur le Play Store à l’aide du deploy à ce stade, il échouera. Essaie:

  bundle exec fastlane deploy

Vous verrez la sortie:

[17:31:51]: Google Api Error: applicationNotFound: No application was found for the given package name. - No application was found for the given package name.

Ce message signifie qu’une application portant ce nom de package n’existe pas encore sur la console Play Store.

fastlane ne peut pas créer une nouvelle fiche sur le Play Store. La création d’une liste d’applications comprend le téléchargement de l’APK sur l’une des pistes disponibles afin que la Play Console connaisse le nom du package de votre application. Vous n’avez pas besoin de publier l’APK.

Dans la section suivante, vous allez créer l’application sur le site Web de la console Play Store.

Création d’une fiche Play Store

Pour créer une nouvelle liste d’applications, ouvrez le Console Google Play et cliquez CRÉER UNE APPLICATION.

Écran Toutes les applications sur la console Google Play

Dans la fenêtre contextuelle, laissez le Langage par défaut entrez sa valeur automatique et fournissez un nom d’application: RWMagic8Ball. Cliquez sur CRÉER.

Vous verrez un écran avec toutes les informations de l’application. Bientôt, vous pourrez utiliser Fastlane avec Android pour fournir ces données. Pour l’instant, fournissez une brève description et cliquez sur Enregistrer le brouillon.

Retour au Applications languette. Vous devriez maintenant voir le RWMagic8Ball application dans la liste.

RWMagic8Ball dans la fenêtre Toutes les applications

Ensuite, vous allez télécharger manuellement la première version sur la console Play pour que le Play Store puisse identifier l’ID de l’application.

Mise à jour manuelle d’une build sur la console Play

Sélectionner Versions de l’application dans le volet gauche. Clique le GÉRER pour ouvrir la page Production track.

Où sélectionner les versions de l'application et le bouton GÉRER

Cliquez sur Créer une version pour télécharger une nouvelle version.

La page Créer une version

Faites défiler jusqu’à Bundles d’applications Android et APK à ajouter pour télécharger un APK. Cliquez sur PARCOURIR LES FICHIERS.

Bundles d'applications Android et APK pour ajouter une section de la page des versions d'applications

Sélectionnez le fichier APK qui bundle exec fastlane build généré. Il est normalement enregistré sous app / build / sorties / apk / release / app-release.apk.

Écran app-release.apk

Remarque: Android exige que tous les fichiers APK soient signés numériquement avec un certificat avant de les télécharger sur la console Play.

Le projet de démarrage est préconfiguré avec la signature d’application. Si vous souhaitez configurer la signature d’applications pour une autre application, suivez les étapes de la Guide d’utilisation d’Android Studio.

Vous devez fournir quelques détails supplémentaires avant de soumettre la version. Comme il s’agit du premier téléchargement, le Nom de version peut être n’importe quoi; dans ce cas, utilisez 1.0 – 3. Fournissez une brève description des modifications de cette version. Pour l’instant, utilisez Beaucoup de nouvelles fonctionnalités incroyables à tester!

Informations de version supplémentaires remplies

Cliquez sur ENREGISTRER.

Ensuite, revenez à la liste des applications. Cette fois, le nom de votre package s’affiche sous le nom de l’application:

Le nom de votre package dans la liste des applications

À partir de maintenant, lorsque Fastlane se connecte au Play Store avec vos informations d’identification Google, il trouve automatiquement l’application sur la console Play Store avec le nom de votre package.

Téléchargement des métadonnées

En plus de télécharger une version de votre application, fastlane peut télécharger des métadonnées d’application, y compris des captures d’écran, des descriptions et des notes de version. Cette approche vous permet de conserver une copie locale des métadonnées, de la vérifier dans le contrôle de version et de la télécharger lorsque vous êtes prêt.

Lorsque vous vous connectez approvisionnement fastlane sur le Play Store pour la première fois, vous devez exécuter le init commande, comme documentation fastlane décrit.

le init commande télécharge les métadonnées existantes dans fastlane / métadonnées. Si vous avez suivi les sections précédentes de ce didacticiel, ce répertoire existera déjà et contiendra des captures d’écran d’application. Supprimez ce dossier pour l’instant; sinon, la commande suivante échouera.

Maintenant, exécutez:

bundle exec fastlane supply init

Cette commande télécharge tout contenu existant à partir de la console Play Store. Une fois la commande exécutée avec succès, vous verrez la sortie suivante:

[✔] 🚀 
[13:48:36]: 🕗  Downloading metadata, images, screenshots...
[13:48:37]: 📝  Downloading metadata (en-GB)
[13:48:37]: Writing to fastlane/metadata/android/en-GB/title.txt...
...
[13:48:37]: 🖼️  Downloading images (en-GB)
[13:48:37]: Downloading `featureGraphic` for en-GB...
...
[13:48:43]: ✅  Successfully stored metadata in 'fastlane/metadata/android'

Le contenu téléchargé est enregistré dans Fastlane / métadonnées. Ouvert android / en-GB / changelogs / 1.0 – 3.txt et notez qu’il contient le texte que vous avez entré sur la console Play Store:

Le texte, Beaucoup de nouvelles fonctionnalités intéressantes à tester !, dans android / en-GB / changelogs / 1.0 - 3.txt

Toutes nos félicitations! Vous avez configuré une nouvelle application sur la console Play Store, configuré Fastlane et récupéré les métadonnées de l’application.

Téléchargement de métadonnées

Votre prochaine étape consiste à mettre à jour certaines métadonnées localement et à les télécharger avec fastlane – pour fournir des captures d’écran d’application, par exemple. Exécutez les couloirs pour créer des captures d’écran d’application:

bundle exec fastlane build_for_screengrab
bundle exec fastlane screengrab

Maintenant, vous verrez deux captures d’écran dans métadonnées / android / téléphone:

Captures d'écran dans le dossier phoneScreenshots

Exécutez à nouveau l’approvisionnement fastlane, cette fois sans init commande pour télécharger les nouvelles captures d’écran:

bundle exec fastlane supply --skip_upload_changelogs

Dans la console Play Store, sélectionnez Liste des magasins dans le volet gauche et États Unis Anglais) dans le Les langues dans la liste déroulante, puis faites défiler Captures d’écran section. Vous verrez les captures d’écran créées par capture d’écran:

Paramètres pour importer des captures d'écran avec capture d'écran

Vous pouvez voir que fastlane a également activé Français (France) – fr-FR et Italien – it-IT langues sur la console Play Store. C’est parce que Screengrab a créé le F RFR et ça ça dossiers dans fastlane / métadonnées / android et l’approvisionnement a détecté ces dossiers.

Où aller en partant d’ici?

Toutes nos félicitations! Vous avez appris à configurer Fastlane dans une application Android. Vous pouvez télécharger le projet final en cliquant sur le Télécharger les documents en haut ou en bas de ce didacticiel.

Remarque:
Si vous exécutez l’application finale immédiatement, le message d’erreur suivant s’affiche:

File google-services.json is missing. The Google Services Plugin cannot function without it

Fournir un valide google-services.json fichier pour que cela fonctionne.

Fastlane est d’une grande aide dans la gestion des tâches de publication d’applications mobiles. En plus de ce que vous avez appris ici, fastlane avec Android propose également:

Vous pouvez également en savoir plus sur les différents fournisseurs de distribution d’applications:

N’hésitez pas à nous faire savoir ce que vous avez apprécié et comment nous pouvons améliorer le tutoriel à l’avenir en laissant des commentaires dans la colonne ci-dessous!

Close Menu