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.
Icône :
int
qui pointe vers la ressource que vous souhaitez utiliser comme icône (gardez-le en petite taille).Type :
FieldType
à utiliser dans ce champ. Le type définit la disposition du clavier et parfois la validation des saisies.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.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.