Alertez les testeurs sur vos nouvelles versions d'application avec le SDK Android Firebase App Distribution - Codelab

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

1. Vue d'ensemble

c7a9160ef7b184c7.png22e0b52f771c060d.png

Bienvenue dans l'intégration du SDK de distribution d'applications Firebase dans l'atelier de programmation de votre application Android. Dans cet atelier de programmation, vous allez ajouter le SDK App Distribution Android à votre application afin d'afficher des alertes intégrées à vos testeurs lorsque de nouvelles versions sont disponibles au téléchargement. Vous apprendrez à utiliser à la fois une configuration de base et une configuration personnalisée pour que vos testeurs se connectent et reçoivent les mises à jour. Ensuite, vous pousserez une nouvelle version vers App Distribution et déclencherez une nouvelle alerte de build directement dans l'application.

Ce que vous apprendrez

  • Comment utiliser App Distribution pour distribuer une application préliminaire aux testeurs
  • Comment intégrer le SDK App Distribution Android dans votre application
  • Comment alerter un testeur lorsqu'une nouvelle version préliminaire est prête à être installée
  • Comment personnaliser le SDK pour répondre à vos besoins de test

Ce dont vous aurez besoin

  • Android Studio version 3.4+.
  • Exemple de code.
  • Un appareil de test avec Android 2.3+ et les services Google Play 9.8 ou version ultérieure, ou un émulateur avec les services Google Play 9.8 ou version ultérieure.
  • Si vous utilisez un appareil, un câble de connexion.

Comment allez-vous utiliser ce tutoriel ?

Lisez-le seulement Lisez-le et complétez les exercices

Comment évaluez-vous votre expérience avec la création d'applications Android ?

Novice Intermédiaire Compétent

2. Obtenez l'exemple de code

Clonez le référentiel GitHub à partir de la ligne de commande.

$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git

Si vous n'avez pas installé git, vous pouvez également télécharger l'exemple de projet depuis sa page GitHub ou en cliquant sur ce lien .

3. Importez l'application de démarrage

Dans Android Studio, sélectionnez le codelab-appdistribution-android/start ( android_studio_folder.png ) à partir du téléchargement de l'exemple de code ( Fichier > Ouvrir > .../codelab-appdistribution-android/start).

Vous devriez maintenant avoir le projet de démarrage ouvert dans Android Studio.

4. Créer un projet de console Firebase

Ajouter un nouveau projet Firebase

  1. Ouvrez la console Firebase .
  2. Sélectionnez Ajouter un projet , puis nommez votre projet « Firebase Codelab ».

Vous n'avez pas besoin d'activer Google Analytics pour ce projet.

  1. Cliquez sur Créer un projet .

Ajouter une application à Firebase

Enregistrez votre application auprès de Firebase . Utilisez "com.google.firebase.appdistributioncodelab" comme nom de package.

Ajouter le fichier google-services.json à votre application

Après avoir ajouté le nom du package et sélectionné S'inscrire, suivez ces étapes pour ajouter google-services.json à votre application :

  1. Cliquez sur Télécharger google-services.json pour obtenir votre fichier de configuration Firebase Android.
  2. Copiez le fichier google-services.json dans le répertoire de l' app de votre projet.
  3. Une fois le fichier téléchargé, vous pouvez ignorer les étapes suivantes affichées dans la console (elles ont déjà été effectuées pour vous dans le projet build-android-start).

Mettre à jour l'ID d'application pour qu'il corresponde à votre application Firebase

  1. Dans le menu de gauche (onglet Projet), assurez-vous que vous êtes sur la vue "Android", localisez l'onglet "Gradle Scripts" et ouvrez le fichier Gradle de votre module (au niveau de l'application) (généralement app/build.gradle ).
  2. Modifiez la propriété applicationId pour qu'elle corresponde à l'ID d'application de votre application Firebase. Cela devrait être "com.google.firebase.appdistributioncodelab"

Synchronisez votre projet avec les fichiers Gradle

Pour vous assurer que toutes les dépendances sont disponibles pour votre application, synchronisez votre projet avec les fichiers Gradle en sélectionnant Fichier > Synchroniser le projet avec les fichiers Gradle dans la barre d'outils Android Studio.

5. Configurez des alertes de nouvelle version dans l'application avec le SDK Android App Distribution

Au cours de cette étape, vous allez ajouter le SDK Android Firebase App Distribution à votre application et afficher des alertes intégrées à vos testeurs lorsque de nouvelles versions de votre application sont disponibles pour installation. Pour cela, assurez-vous d'avoir activé l' API Firebase App Testers pour votre projet "Firebase Codelab" (dans Google Cloud Console). Vous devez vous connecter avec le même compte et sélectionner le bon projet dans le menu déroulant en haut.

Configurer les alertes dans l'application

Le SDK App Distribution Android propose deux manières de configurer des alertes de build intégrées à l'application pour vos testeurs :

  • Une configuration d'alerte de base, qui est fournie avec une boîte de dialogue prédéfinie à afficher pour les testeurs.
  • Une configuration d'alerte avancée, qui vous permet de personnaliser votre interface utilisateur (UI).

Nous allons commencer par la configuration de base des alertes. Vous pouvez utiliser updateIfNewReleaseAvailable pour afficher une boîte de dialogue d'activation d'alertes prédéfinie pour les testeurs qui n'ont pas encore activé les alertes, puis vérifier si une nouvelle version est disponible. Les testeurs activent les alertes en se connectant à un compte ayant accès à l'application dans App Distribution. Lorsqu'elle est appelée, la méthode exécute la séquence suivante :

  1. Vérifie si un testeur a activé les alertes. Si ce n'est pas le cas, la méthode affiche une boîte de dialogue prédéfinie qui invite les testeurs à se connecter à App Distribution avec leur compte Google.

L'activation des alertes est un processus unique sur l'appareil de test qui persiste à travers les mises à jour de votre application. Les alertes restent activées sur l'appareil de test jusqu'à ce que l'application soit désinstallée ou jusqu'à ce que la méthode signOutTester soit appelée.

  1. Vérifie les nouvelles versions disponibles que le testeur doit installer.
  2. Affiche une alerte prédéfinie invitant le testeur à télécharger la dernière version.
  3. Vérifie le nouveau type de build avant de procéder à la mise à jour :
  4. Si la nouvelle version est un App Bundle (AAB), redirige le testeur vers le Play Store pour terminer le processus de mise à jour.
  5. Si la nouvelle version est un APK, le SDK télécharge la nouvelle version en arrière-plan et invite le testeur à installer la nouvelle version une fois le téléchargement terminé. Le SDK envoie des notifications de progression de téléchargement à l'utilisateur à l'aide de NotificationManager. Vous pouvez ajouter votre propre indicateur de progression en attachant un gestionnaire onProgressUpdate à la tâche updateIfNewReleaseAvailable .

Vous pouvez appeler updateIfNewReleaseAvailable() à tout moment dans votre application. Par exemple, vous pouvez appeler updateIfNewReleaseAvailable() pendant la méthode onResume() de MainActivity :

Ouvrez MainActivity.kt et créez la méthode onResume() comme ceci :

MainActivity.kt

override fun onResume() {
    super.onResume()
    checkForUpdate()
}

Implémentons maintenant la méthode checkForUpdate() .

MainActivity.kt

   private fun checkForUpdate() {
        firebaseAppDistribution.updateIfNewReleaseAvailable()
            .addOnProgressListener { updateProgress ->
                // (Optional) Implement custom progress updates in addition to
                // automatic NotificationManager updates.
            }
            .addOnFailureListener { e ->
                if (e is FirebaseAppDistributionException) {
                    // Handle exception.
                }
            }
    }

6. Créez et invitez des testeurs à télécharger votre application

Au cours de cette étape, vous créez votre application et testez votre implémentation en distribuant la version aux testeurs à l'aide de la console Firebase.

Créez votre application

Lorsque vous êtes prêt à distribuer une version préliminaire de votre application aux testeurs, créez votre APK en suivant votre processus habituel. Vous devez signer l'APK avec votre clé de débogage ou votre clé de signature d'application.

Distribuez votre application aux testeurs

Pour distribuer votre application aux testeurs, importez le fichier APK à l'aide de la console Firebase :

  1. Ouvrez la page de distribution d'applications de la console Firebase. Sélectionnez votre projet Firebase lorsque vous y êtes invité.
  2. Sur la page Releases, sélectionnez l'application que vous souhaitez distribuer dans le menu déroulant.

623460c3c8a82ce6.png

  1. Cliquez sur Commencer

bf503b25066ff4a4.png

  1. Faites glisser le fichier APK de votre application vers la console pour le télécharger.
  2. Une fois le téléchargement terminé, spécifiez les groupes de testeurs et les testeurs individuels pour lesquels vous souhaitez recevoir la version. (Ajoutez votre e-mail pour recevoir l'invitation.) Ensuite, ajoutez des notes de version pour la version. Pour en savoir plus sur la création de groupes de testeurs, consultez Ajouter et supprimer des testeurs .

3343048f0930e84b.png

  1. Cliquez sur Distribuer pour mettre la version à la disposition des testeurs.

2be58fe195928bf9.png

Dans la console Firebase, vous pouvez désormais voir les testeurs que vous avez ajoutés sous la version de votre application.

9935a41810344c61.png

Puisque vous avez inclus votre adresse e-mail, vous recevrez un e-mail de Firebase App Distribution vous invitant à tester l'application. Vous êtes maintenant le premier testeur ! Suivez les instructions de la section Accepter l'invitation pour vous configurer en tant que testeur sur votre appareil de test.

Accepter l'invitation

Vous devrez d'abord accepter l'invitation pour télécharger et tester la version.

  1. Sur votre appareil de test Android, ouvrez l'e-mail envoyé par Firebase App Distribution et appuyez sur Commencer .
  2. Dans l'application Web de test Firebase App Distribution qui s'affiche, connectez-vous avec votre compte Google et appuyez sur Accepter l'invitation. Vous pouvez maintenant voir la version que vous êtes invité à tester.

c18cb684f8e82ad6.png

Télécharger la version à partir de l'appareil de test

Lorsque vous accédez à l'application AppDistribution Codelab, vous pouvez voir que la version est prête à être téléchargée.

5414d9a536f25ece.png

  1. Appuyez sur Télécharger , puis installez et lancez l'application !
  2. Lorsque l'application démarre, elle vous demande d'activer les nouvelles alertes de build. Appuyez sur Activer .

b059e09acaa4779f.png

  1. Connectez-vous avec votre compte testeur..

22e0b52f771c060d.png

Vous êtes renvoyé à l'application. La prochaine fois que vous exécuterez l'application, vous n'aurez pas besoin de vous connecter ni d'accepter les alertes

c9f33df16a2680d.png

Distribuez une mise à jour à vos testeurs

  1. Mettez à jour votre versionName sur "1.1" et versionCode sur 2 dans le fichier Gradle de votre module (au niveau de l'application) (généralement app/build.gradle).
  2. Créez votre APK en utilisant votre processus normal. Vous devez signer l'APK avec votre clé de débogage ou votre clé de signature d'application.
  3. Téléchargez ce nouvel APK dans votre console Firebase, ajoutez à nouveau votre adresse e-mail en tant que testeur et cliquez sur Distribuer .

2dfa702edfdce6b8.png

Alertes de build de test

  1. Assurez-vous d'avoir fermé l'application si elle était ouverte.
  2. Redémarrez l'application.
  3. Lorsque l'application redémarre, vous recevez une alerte Nouvelle version disponible.

987e3d0ba4e56f84.png

  1. Pour recevoir la dernière version, cliquez sur Mettre à jour .
  2. Si vous y êtes invité, choisissez l'option permettant d'activer les installations à partir de sources inconnues.
  3. Cliquez sur Installer (ou Mettre à jour) sur l'écran suivant.

a7c7cd15d60bc764.png

  1. Toutes nos félicitations! Vous avez pu mettre à jour votre application avec les alertes intégrées.

7. Personnalisez la connexion du testeur

Les méthodes signInTester/signOutTester et isTesterSignedIn vous offrent plus de flexibilité pour personnaliser l'expérience de connexion de votre testeur, afin qu'elle corresponde mieux à l'apparence de votre application.

L'exemple suivant vérifie si le testeur s'est déjà connecté à son compte de testeur Firebase App Distribution. Vous pouvez donc choisir d'afficher votre interface utilisateur de connexion uniquement pour les testeurs qui ne se sont pas encore connectés. Une fois que le testeur s'est connecté, vous pouvez alors appelez checkForUpdate pour vérifier si le testeur a accès à une nouvelle version.

Désactivons la vérification automatique des mises à jour dans onResume en commentant l'appel checkForUpdate() .

MainActivity.kt

override fun onResume() {
        super.onResume()
        //checkForupdate()
    }

Au lieu de cela, checkForUpdate() est déjà ajouté dans OnClickListener du bouton de mise à jour.

Maintenant, implémentons notre méthode signIn() qui connectera l'utilisateur s'il est déconnecté, ou déconnectera l'utilisateur s'il est déjà connecté.

MainActivity.kt

    private fun signIn() {
        if (isTesterSignedIn()) {
            firebaseAppDistribution.signOutTester()
            configureUpdateButton()
            configureSigninButton()
        } else {
            firebaseAppDistribution.signInTester()
        }
    }

Enfin, implémentons la méthode isTesterSignedIn .

MainActivity.kt

    private fun isTesterSignedIn() : Boolean {
        return firebaseAppDistribution.isTesterSignedIn
    }

Créez et testez votre implémentation

8. Félicitations !

Vous avez intégré la fonctionnalité "affichage des alertes dans l'application" dans une application à l'aide du SDK Android Firebase App Distribution.

Ce que nous avons couvert

  • Distribution d'applications Firebase
  • Firebase App Distribution Nouvelles alertes Android SDK

Prochaines étapes

Apprendre encore plus

Avoir une question?

Signaler des problèmes