Firebase Remote Config pour les applications Android

Firebase Remote Config est un service unique conçu pour vous donner un contrôle précis des instances de vos applications lorsqu'elles sont installées sur des machines utilisateur. En l'utilisant, vous pouvez modifier de manière fiable l'apparence et le comportement de vos applications dans l'ensemble de votre base d'utilisateurs sans publier les mises à jour sur Google Play..

Si vous pensez que cela pourrait constituer un risque pour la sécurité, laissez-moi vous assurer que Remote Config ne vous permet pas d'injecter à distance un nouveau code dans vos applications. Il vous permet uniquement de modifier, via la console Firebase, les valeurs de certaines variables prédéfinies déjà présentes dans le code. En fait, vous pouvez considérer les variables comme des variables côté serveur dont dépend votre application..

Dans ce tutoriel, je vais vous montrer comment utiliser certaines des fonctionnalités les plus puissantes de Remote Config dans les applications Android..

1. Pourquoi utiliser la configuration à distance?

L'API de configuration à distance est principalement conçue pour être utilisée comme une alternative aux simples valeurs codées en dur dans vos applications. Des exemples de telles valeurs peuvent être les couleurs, les dimensions, les délais et les étiquettes.

Pour mieux comprendre la signification de l'API, envisagez le scénario suivant: Vous créez et publiez une application avec des valeurs codées en dur pour la taille de la police et la couleur de toutes ses étiquettes. Quelques jours plus tard, vos utilisateurs vous indiquent qu'ils préfèrent une taille de police plus grande et une couleur de police différente. Les valeurs étant codées en dur, vous devez maintenant modifier votre code, créer de nouveau l'application en lui attribuant un nouveau numéro de version et le republier sur Google Play. C'est beaucoup de travail pour une solution mineure. De plus, si les utilisateurs changent d'avis, vous devrez tout recommencer.!

Avec Firebase Remote Config, vous pouvez définir des variables configurables à distance de la taille et de la couleur de police et utiliser la console Firebase pour modifier rapidement leurs valeurs à tout moment et autant de fois que vous le souhaitez. Cette approche moderne garantit également que les modifications ont lieu le plus rapidement possible sur les appareils de tous vos utilisateurs, sans qu'ils aient à télécharger manuellement les mises à jour..

2. Configuration du projet

Avec l'assistant Firebase Assistant d'Android Studio, l'ajout de la configuration à distance à votre projet ne prend que quelques clics..

Commencez par aller à Outils> Firebase et en choisissant Configuration à distance> Configuration de la configuration à distance de Firebase dans le panneau qui apparaît. 

Ensuite, appuyez sur le Se connecter à Firebase bouton pour associer votre projet Android Studio à un projet Firebase. Dans la boîte de dialogue qui apparaît, sélectionnez le Créer un nouveau projet Firebase option et appuyez sur le Se connecter à Firebase bouton.

Après une connexion réussie, vous pouvez appuyer sur le bouton Ajouter une configuration à distance à votre application bouton pour ajouter toutes les dépendances requises aux fichiers Gradle de votre projet. Lorsque vous y êtes invité, appuyez sur le bouton Accepter les modifications bouton pour terminer la configuration du projet.

3. Définition des paramètres de configuration

Toutes les variables que vous souhaitez pouvoir modifier à distance doivent être définies dans votre projet Firebase en tant que paramètres de configuration à distance. Utilisez donc un navigateur pour vous connecter à la console Firebase, faites défiler la liste Aperçu du projet section pour trouver le Configuration à distance carte et appuyez sur la Commencer bouton.

Dans l'écran d'accueil du service Remote Config, appuyez sur le bouton Ajoutez votre premier paramètre bouton pour commencer à ajouter les variables.

Définissons maintenant deux paramètres: taille de police et couleur de la police. Le premier doit être un nombre et le dernier une chaîne. Assurez-vous d’affecter des valeurs par défaut raisonnables aux deux.

Vous devriez maintenant pouvoir voir les deux paramètres que vous avez créés. Cependant, leurs valeurs ne seront pas disponibles pour votre application, sauf si vous les publiez. Alors appuyez sur la Publier les modifications bouton.

4. Préparer une mise en page

Pour pouvoir utiliser les paramètres que nous avons créés, ajoutez un Affichage widget affichant un message dans le fichier XML de présentation de votre activité. Si vous avez créé un nouveau projet Android Studio pour ce tutoriel, n'hésitez pas à utiliser "Hello World". Affichage widget disponible par défaut, mais assurez-vous de lui donner un identifiant.

À l'intérieur de onCreate () méthode de votre activité, vous pouvez maintenant obtenir une référence au widget en utilisant le findViewById () méthode.

val myMessage = findViewById(R.id.my_message)

5. Initialisation de la configuration à distance

Notre application doit pouvoir fonctionner correctement lors de sa première ouverture, même si l'utilisateur n'est pas connecté à Internet. Par conséquent, il doit connaître à la fois les noms et les valeurs par défaut de nos paramètres de configuration à distance. Créer une carte pour les stocker est une bonne idée.

val default = mapOf ("font_size" à 18, "font_color" à "# ff0000")

Notez que les noms et les valeurs par défaut doivent être identiques à leurs équivalents dans la console Firebase..

Nous pouvons maintenant initialiser un client pour le service de configuration à distance à l'aide du défauts carte. Pour ce faire, créez d’abord une instance du client en appelant le getInstance () méthode du FirebaseRemoteConfig classe, puis passez la carte à sa setDefaults () méthode.

val remoteConfig = FirebaseRemoteConfig.getInstance () remoteConfig.setDefaults (par défaut)

À ce stade, le client de configuration à distance est prêt et nous pouvons commencer à utiliser les valeurs fournies..

6. Utilisation des valeurs par défaut

le FirebaseRemoteConfig instance offre quelques méthodes de nom intuitif que vous pouvez utiliser pour extraire les valeurs des paramètres de configuration à distance. Par exemple, vous pouvez appeler le getDouble () méthode pour récupérer des valeurs qui sont des nombres. De même, vous pouvez appeler le getString () méthode pour récupérer des valeurs qui sont des chaînes.

Le code suivant vous montre comment récupérer les valeurs du taille de police et couleur de la police paramètres.

val fontSize = remoteConfig.getDouble ("font_size") val fontColor = remoteConfig.getString ("font_color")

Une fois que vous avez les valeurs, vous êtes libre de les utiliser comme vous le souhaitez. Pour le moment, utilisons-les pour changer l’aspect de la mon message widget.

myMessage.textSize = fontSize.toFloat () myMessage.setTextColor (Color.parseColor (fontColor))

Si vous exécutez l'application maintenant, vous pourrez voir le Affichage widget utilisant les valeurs par défaut des paramètres de configuration à distance.

7. Récupérer les dernières valeurs

Pour le moment, le client Remote Config renvoie simplement les valeurs de la carte que nous lui avons transmise. Pour lui permettre d’utiliser les valeurs qu’il obtient de Firebase, nous devons appeler son activateFetched () méthode.

remoteConfig.activateFetched ()

le activateFetched () Cependant, cette méthode ne récupère pas les valeurs de Firebase. Par conséquent, nous devons appeler le chercher () méthode next, qui s'exécute de manière asynchrone, pour récupérer les valeurs.

remoteConfig.fetch ()

Si vous exécutez l'application à ce stade, elle utilisera toujours les valeurs par défaut. Cependant, si vous attendez quelques secondes, fermez-le et ouvrez-le à nouveau, il commencera à utiliser les valeurs que vous avez entrées dans la console Firebase..

En règle générale, il est judicieux de laisser les valeurs modifiées entrer en vigueur uniquement lorsque les utilisateurs ouvriront l'application la prochaine fois. Vous pouvez attacher un auditeur à la Tâche objet retourné par le chercher () méthode et mettre à jour votre interface utilisateur dans le programme d'écoute, mais vos utilisateurs pourraient ne pas aimer le changement brusque.

Vous pouvez cependant utiliser le programme d'écoute à des fins de débogage.

remoteConfig.fetch (). addOnSuccessListener Log.i (TAG, "Valeurs extraites avec succès")

8. Changer les valeurs

Actuellement, les valeurs de la carte correspondent aux valeurs distantes. Pour pouvoir voir le service de configuration à distance en action, nous devons modifier les valeurs mentionnées dans la console Firebase. Revenez donc à la console et cliquez sur l'un des paramètres que vous voyez dans la section Configuration à distance..

Dans la boîte de dialogue qui apparaît, laissez le Clé de paramètre champ inchangé, mais change la valeur. De même, vous pouvez aussi changer la valeur de l'autre paramètre.

Enfin, assurez-vous d’appuyer sur le bouton Publier les modifications bouton pour que les valeurs deviennent disponibles pour le client de configuration à distance.

Si vous ouvrez l'application maintenant, fermez-la et rouvrez-la, vous devriez voir que le Affichage widget semble différent.

9. Ajouter des conditions aux paramètres

Il n'est pas toujours nécessaire de transmettre les mêmes valeurs de configuration à distance à tous vos utilisateurs. La console Firebase vous permet d’ajouter des conditions à vos paramètres pour qu’elles renvoient des valeurs différentes à différents sous-ensembles de votre base d’utilisateurs. Il existe de nombreuses règles que vous pouvez utiliser pour créer de tels sous-ensembles. Par exemple, vous pouvez cibler des utilisateurs appartenant à un pays spécifique, des utilisateurs disposant d'appareils exécutant une version spécifique d'Android ou même des utilisateurs parlant une langue spécifique..

Comme Firebase les gère de manière transparente, vous n’avez pas à modifier votre code pour gérer les conditions associées à vos paramètres..

À titre d’exemple, ajoutons maintenant une condition à la couleur de la police paramètre tel que sa valeur est bleue pour les utilisateurs indiens uniquement.

Commencez par cliquer sur le paramètre dans la console Firebase. Dans le formulaire qui apparaît, cliquez sur le bouton Ajouter de la valeur pour la condition liste déroulante et sélectionnez Définir la nouvelle condition.

Dans la boîte de dialogue qui s'ouvre ensuite, vous pourrez donner un nom à votre condition et, à partir du S'applique si…  Dans la liste déroulante, sélectionnez une variété d’options qui vous permettront de vous concentrer sur un groupe spécifique d’utilisateurs. Pour cibler les utilisateurs d’un pays spécifique, vous devrez choisir le Pays / région option. Dans la liste qui apparaît à côté, vous pouvez choisir un ou plusieurs pays. Choisir Inde ici.

Une fois que vous avez rempli tous les champs, appuyez sur le bouton Créer une condition bouton pour finaliser la condition.

À ce stade, votre paramètre pourra accepter deux valeurs au lieu d'une. Quitter le Valeur par défaut champ tel quel et tapez le code hexadécimal pour la couleur bleue dans le champ de valeur conditionnelle.

Si vous publiez les modifications maintenant, les utilisateurs en Inde recevront une mise à jour supplémentaire, ainsi que le texte dans Affichage le widget leur apparaîtra en bleu.

Conclusion

Vous savez maintenant comment modifier une application à distance à l'aide de Firebase Remote Config et de la console Firebase. Avec un peu de créativité, vous pouvez faire beaucoup avec ce service pour améliorer l'expérience utilisateur de votre application. Par exemple, la plupart des développeurs l'utilisent aujourd'hui pour modifier les thèmes de leurs applications afin de marquer les jours de fête. De nombreuses personnes l’utilisent également avec Firebase Analytics pour exécuter des tests A / B sur leurs bases d’utilisateurs..

Pour en savoir plus sur la configuration à distance, reportez-vous à la documentation officielle..