Skip to main content
Lock.Android vous permet d’ajouter des champs supplémentaires que l’utilisateur doit remplir avant de créer un nouveau compte. Ces champs s’afficheront sur un second écran, une fois que l’utilisateur aura rempli les champs de base (courriel, nom d’utilisateur, mot de passe).

Créer les champs personnalisés

Créez un nouvel objet CustomField en fournissant ces 4 paramètres obligatoires.
  1. Icône : l’int qui correspond à la ressource que vous voulez utiliser comme icône (choisissez-en une petite).
  2. Type : le FieldType à utiliser pour ce champ. Le type définit la disposition du clavier et, parfois, la validation de la saisie.
  3. Clé : le String qui identifie cette valeur dans le JSON de résultat. Il ne doit pas être répété! Si deux champs ont la même clé, le deuxième sera supprimé de la liste.
  4. Indication : le @StringRes du texte à afficher comme texte d’indication dans le champ.
De plus, vous pouvez préciser où le champ sera stocké dans le profil de l’utilisateur. Consultez la section Stockage ci-dessous pour en savoir plus. Vous pouvez aussi créer des champs qui ne seront pas affichés à l’utilisateur, mais qui peuvent servir à inclure des métadonnées supplémentaires de façon dynamique après l’inscription.
Répétez les étapes ci-dessus autant de fois que nécessaire pour ajouter tous les champs dont vous avez besoin.

Utiliser les champs personnalisés

Passez la liste des champs personnalisés à l’instance Lock au moment de la créer, à l’aide de la méthode withSignUpFields().
Si vous avez activé l’inscription dans le Dashboard de l’application, les utilisateurs seront invités à remplir les champs restants après avoir rempli les champs de base (email/username, mot de passe) et cliqué sur Submit. L’utilisateur doit remplir tous les champs personnalisés avant de pouvoir terminer l’inscription. Pendant l’inscription, les champs supplémentaires sont ajoutés à l’attribut user_metadata ou définis directement à la racine du profil utilisateur, selon l’option stockage choisie. Vous pouvez accéder à ces propriétés en consultant le profil utilisateur à tout moment, même à partir du Dashboard dans la section Users.

Types de champs

Chaque champ personnalisé ne peut être associé qu’à un seul FieldType.
  • TYPE_NAME
  • TYPE_NUMBER
  • TYPE_PHONE_NUMBER
  • TYPE_EMAIL

stockage

Chaque champ personnalisé ne peut être associé qu’à un seul Storage. Vous pouvez choisir de le stocker au niveau racine, dans un attribut racine du profil, ou dans l’attribut user_metadata. Pour préciser l’emplacement de stockage, utilisez le constructeur à cinq paramètres et transmettez le paramètre Storage de votre choix. Par défaut, les champs sont stockés dans l’attribut user_metadata. Choix possibles :
  • PROFILE_ROOT
  • USER_METADATA (par défaut)
Pour que les champs soient enregistrés au niveau racine du profil de l’utilisateur, leurs clés doivent correspondre à celles indiquées dans la documentation de l’endpoint.