Alertez les testeurs des nouvelles versions de votre application avec le SDK Android Firebase App Distribution - Codelab

1. Vue d'ensemble

c7a9160ef7b184c7.png22e0b52f771c060d.png

Bienvenue dans l'atelier de programmation sur l'intégration du SDK de distribution d'applications Firebase dans votre application Android. Dans cet atelier de programmation, vous allez ajouter le SDK Android App Distribution à votre application afin d'afficher des alertes dans l'application à vos testeurs lorsque de nouvelles builds 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 enverrez une nouvelle version à App Distribution et déclencherez une alerte de nouvelle 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 Android App Distribution 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

  • Dernière version d'Android Studio .
  • Exemple de code.
  • Un appareil de test avec Android 4.4+ 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 uniquement Lisez-le et complétez les exercices

Comment évalueriez-vous votre expérience dans 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 git n'est pas installé, vous pouvez également télécharger l'exemple de projet à partir de sa page GitHub ou en cliquant sur ce lien .

3. Importez l'application de démarrage

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

Le projet de démarrage devrait maintenant être ouvert dans Android Studio.

4. Créez 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 du package.

Ajoutez 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 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 de l'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.kts ).
  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 ajouterez le SDK Android Firebase App Distribution à votre application et afficherez des alertes dans l'application à vos testeurs lorsque de nouvelles versions de votre application sont disponibles pour l'installation. Pour ce faire, 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 Android App Distribution propose deux manières de configurer des alertes de build dans l'application pour vos testeurs :

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

Nous commencerons 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 aux 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. Sinon, 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 lors des 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 versions nouvellement 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 du 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, téléchargez le fichier APK à l'aide de la console Firebase :

  1. Ouvrez la page Distribution d'applications de la console Firebase. Sélectionnez votre projet Firebase lorsque vous y êtes invité.
  2. Sur la page Versions, 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 rendre la version disponible aux 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 désormais le premier testeur ! Suivez les instructions dans 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 à télécharger et tester la version.

  1. Sur votre appareil de test Android, ouvrez l'e-mail envoyé depuis Firebase App Distribution et appuyez sur Commencer .
  2. Dans l'application Web du testeur Firebase App Distribution qui apparaît, 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échargez la version à partir de l'appareil de test

Lorsque vous accédez à l'application d'atelier de programmation AppDistribution, 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 exécutez l'application !
  2. Lorsque l'application démarre, elle vous demande d'activer les alertes de nouvelle build. Appuyez sur Activer .

b059e09acaa4779f.png

  1. Connectez-vous avec votre compte testeur.

22e0b52f771c060d.png

Vous revenez à 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 habituel. 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 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. Personnaliser 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 puisse mieux correspondre à 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 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 de updatebutton.

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
  • Distribution d'applications Firebase Nouvelles alertes SDK Android

Prochaines étapes

Apprendre encore plus

Avoir une question?

Signaler des problèmes