Skip to main content
Lock.Android le permite especificar campos adicionales que el usuario debe completar antes de crear una nueva cuenta. Los campos adicionales se mostrarán en una segunda pantalla después de que el usuario complete los campos básicos (correo electrónico, username, contraseña).

Crear los campos personalizados

Cree un nuevo objeto CustomField indicando estos 4 parámetros obligatorios.
  1. Icono: El int que apunta al recurso que desea usar como icono (que sea pequeño).
  2. Tipo: El FieldType que se usará en este campo. El tipo define la distribución del teclado y, en ocasiones, la validación de la entrada.
  3. Clave: El String que identifica este valor en el JSON resultante. ¡No debe repetirse! Si se repiten claves de campo, el segundo campo se eliminará de la lista.
  4. Sugerencia: El @StringRes del texto que se mostrará como sugerencia en el campo.
Además, puede especificar en qué parte del perfil del usuario se almacenará el campo. Consulte la sección Almacenamiento a continuación para obtener más detalles. También puede crear campos que no se mostrarán al usuario, pero que pueden usarse para incluir metadatos adicionales de forma dinámica después del registro.
// Campo regular
val nameField = CustomField(R.drawable.ic_name, FieldType.TYPE_NAME, "first_name", R.string.hint_first_name, CustomField.Storage.PROFILE_ROOT)

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

val customFields = listOf(nameField, androidField)
Repite los pasos anteriores tantas veces como campos necesites.

Usa los campos personalizados

Pasa la lista de campos personalizados a la instancia de Lock al crearla con el método withSignUpFields().
val lock = Lock.newBuilder(auth0, callback)
              .withSignUpFields(customFields)
              //...
              .build(this)
Si ha habilitado el registro en el Dashboard de la aplicación, se pedirá a los usuarios que completen los campos restantes después de completar los campos básicos (correo electrónico/username, contraseña) y hacer clic en Enviar. El usuario debe completar todos los campos personalizados antes de poder finalizar el registro. Durante el registro, los campos adicionales se añaden al atributo user_metadata o se establecen directamente en el perfil raíz del usuario, según la opción de Storage elegida. Puede acceder a estas propiedades consultando el perfil del usuario en cualquier momento, incluso desde el Dashboard, en la sección del usuario.

Tipos de campo

Cada campo personalizado solo puede tener un FieldType asociado.
  • TYPE_NAME
  • TYPE_NUMBER
  • TYPE_PHONE_NUMBER
  • TYPE_EMAIL

Almacenamiento

Cada campo personalizado solo puede tener un Storage asociado. Puede elegir almacenarlo en el nivel raíz, en un atributo raíz del perfil, o dentro del atributo user_metadata. Para especificar la ubicación de almacenamiento, use el constructor de cinco parámetros y pase el parámetro Storage que prefiera. De forma predeterminada, los campos se almacenan dentro del atributo user_metadata. Opciones disponibles:
  • PROFILE_ROOT
  • USER_METADATA (predeterminado)
Para que los campos se guarden en el nivel raíz del perfil del usuario, sus claves deben coincidir con las que se indican en la documentación del endpoint.