Sauvegarder des données utilisateurs dans Firebase
Sauvegardez des données utilisateurs dans Firebase (score, profil, langue de préférence, progression…) et personnalisez l’expérience utilisateur au sein de l’application.
Cette fonctionnalité s’appuie sur le système d’authentification via Firebase.
Lorsqu’un compte utilisateur est créé sur Firebase, il possède un ensemble fixe de propriétés : un identifiant unique, une adresse email et un nom qui sont stockées dans la base de données utilisateur du projet Firebase. Grâce à Cloud Firestore la base de données de Firebase, vous pouvez stocker des propriétés supplémentaires : un score, un profil d’utilisateur etc…
Avant d’associer une donnée à un utilisateur, créez au préalable un projet Firebase et configurez-le correctement via le composant Firebase Session. Insérez le formulaire d’authentification pour permettre aux utilisateurs de se connecter dans votre application.
Structure de données
Cloud Firestore est une base de données NoSQL cloud qui est utilisée pour ajouter, récupérer et mettre à jour des données dans votre application. Fondamentalement, il s’agit d’une base de données utilisée pour stocker des données dans votre console Firebase. Les données du Firestore sont stockées sous forme de documents, qui sont organisés en collections. Il n’y a pas de tables ou de lignes. Chaque document contient un ensemble de paires valeur clé.
La collection users contient vos différents utilisateurs, chacun représenté par un document :
Voici un exemple de document :
Cloud Firestore est sans schéma, vous avez donc une liberté totale sur les champs que vous placez dans chaque document et les types de données que vous stockez dans ces champs.
Créer / Modifier la donnée depuis l’app
Cloud Firestore n’impose pas de schéma prédéfini. Dans PandaSuite, le plus simple est toutefois de préparer cette structure à l’avance pour que Studio puisse mieux l’exposer lors de la configuration de votre app.
Préparer la structure du document utilisateur
Commencez par Données par défaut dans le composant Session Firebase.
Cet onglet définit le document créé dans Cloud Firestore pour chaque nouvel utilisateur. C’est l’endroit le plus simple pour préparer des champs de profil, de progression, de préférences, des objets imbriqués, des tableaux ou des collections PandaSuite.
Comme cette structure existe déjà dans Studio, il devient ensuite plus facile de cibler les bons champs dans vos liaisons de données, conditions et actions.
Compléter le profil au moment de l’inscription
Si vous devez aussi collecter des informations dans le formulaire d’inscription, ajoutez-les avec les Champs utilisateur avancés du composant Authentification.
Ces valeurs saisies à l’inscription sont ensuite fusionnées avec la structure par défaut au moment de la création du compte.
Mettre à jour les données ensuite depuis l’app
Une fois que le compte utilisateur dispose d’un document dans Cloud Firestore, sélectionnez un déclencheur puis choisissez Agir sur une source de données > Session Firebase > Modifier la donnée.
Cette action repose sur le même champ générique de modification de données que la Base de données PandaSuite, mais elle met à jour le document Cloud Firestore de l’utilisateur actuellement connecté.
Utilisez-la pour mettre à jour un champ existant, incrémenter un score, ajouter ou retirer des éléments dans un tableau ou une collection, ou encore vider un champ si nécessaire.
Dans ce contrôle, choisissez une Cible, puis une Fonction, et une Valeur lorsque cette fonction en a besoin.
Utilisez exactement le même nom de champ partout dans votre projet. Par
exemple, si vous enregistrez language dans une action, réutilisez bien
language quand vous la lisez ou la modifiez ailleurs.
Si un champ n’a pas été préparé dans Données par défaut, il peut tout de même être ajouté plus tard lorsque vous mettez à jour un document utilisateur déjà existant depuis l’app. Cela reste possible, mais préparer la structure en amont rend généralement la configuration beaucoup plus simple dans Studio.
Gérer la donnée depuis la console Cloud Firestore
Depuis la console Firebase, affichez, ajoutez, modifiez et supprimez vos données en temps réel.
Cliquez sur une collection pour afficher ses documents, puis cliquez sur un document pour afficher ses champs et sous-collections. Cliquez sur un champ pour modifier sa valeur.
Vous pouvez ensuite réutiliser ces données dans votre app avec le data binding, les conditions et les workflows d’automatisation.
Ajouter des types spécifiques à PandaSuite dans Firebase
Vous pouvez aussi utiliser Firebase pour stocker des types spécifiques à PandaSuite et les retrouver facilement. Cela permet de conserver la structure des données associées et de les utiliser pour des actions automatisées, comme reprendre une progression ou effectuer un changement d’écran en fonction d’une information précédemment sauvegardée.