Lock.Android: Champs personnalisés à l’inscription

Lock.Android vous permet de spécifier des champs supplémentaires que l’utilisateur doit remplir avant de créer un nouveau compte. Les champs supplémentaires seront affichés sur un deuxième écran après que l’utilisateur a complété les champs de base (courriel, nom d’utilisateur, mot de passe).

Créer les champs personnalisés

Créez un nouvel objet CustomField en définissant les 4 paramètres suivants obligatoires.

  1. Icône : int qui pointe vers la ressource que vous souhaitez utiliser comme icône (gardez-le en petite taille).

  2. Type : FieldType à utiliser dans ce champ. Le type définit la disposition du clavier et parfois la validation des saisies.

  3. Clé : La chaîne qui détermine cette valeur dans le JSON du résultat. Elle ne doit pas être répétée : des clés de champ répétées entraîneront la suppression du deuxième champ de la liste.

  4. Indice : @StringRes du texte à afficher comme indice dans le champ.

In addition, you can specify where the field is going to be stored on the user’s profile. See the Storage section below for details.

Vous pouvez également créer des champs qui ne seront pas présentés à l’utilisateur, mais qui peuvent être utilisés pour inclure des métadonnées supplémentaires de manière dynamique après l’inscription.

// Regular field
val nameField = CustomField(R.drawable.ic_name, FieldType.TYPE_NAME, "first_name", R.string.hint_first_name, CustomField.Storage.PROFILE_ROOT)

// Hidden field
val androidField = HiddenField("android_version", Build.VERSION.SDK_INT.toString(), Storage.USER_METADATA)

val customFields = listOf(nameField, androidField)

Was this helpful?

/

Répétez les étapes ci-dessus autant de fois que nécessaire pour les champs dont vous avez besoin.

Utiliser les champs personnalisés

Passez la liste des champs personnalisés à l’instance Lock lors de sa création, en utilisant la méthode withSignUpFields().

val lock = Lock.newBuilder(auth0, callback)
              .withSignUpFields(customFields)
              //...
              .build(this)

Was this helpful?

/

Si vous avez activé l’inscription dans le Dashboard de l’application, les utilisateurs seront invités à remplir les champs restants après avoir complété les champs de base (courriel/nom d’utilisateur, mot de passe) et avoir cliqué sur Soumettre. L’utilisateur doit remplir tous les champs personnalisés pour pouvoir terminer l’inscription.

Lors de l’inscription, les champs supplémentaires sont attachés à l’attribut user_metadata ou sont directement définis dans le profil utilisateur principal, selon l’option de stockage choisie. Vous pouvez accéder à ces propriétés en interrogeant le profil utilisateur à tout moment, même à partir de Dashboard dans la section Utilisateur.

Field Types

Chaque champ personnalisé ne peut avoir qu’un seul FieldType associé.

  • TYPE_NAME

  • TYPE_NUMBER

  • TYPE_PHONE_NUMBER

  • TYPE_EMAIL

Storage

Chaque champ personnalisé ne peut avoir qu’un seul Storage associé. Vous pouvez choisir de le stocker au niveau basique dans un attribut de profil de base ou à l’intérieur de l’attribut user_metadata. Pour spécifier l’emplacement de stockage, utilisez le constructeur à cinq paramètres et passez le paramètre Storage de votre choix. Par défaut, les champs seront stockés à l’intérieur de l’attribut user_metadata.

Options disponibles :

  • PROFILE_ROOT

  • USER_METADATA (défaut)

Pour que les champs soient enregistrés au niveau de base du profil de l’utilisateur, leurs clés doivent correspondre à celles énumérées dans la Documentation des points de terminaison.