Lock.Android:サインアップ時のカスタムフィールド
Lock.Androidを使用すると、新しいアカウントを作成する前にユーザーが入力する必要がある追加のフィールドを指定できます。ユーザーが基本フィールド(メール、ユーザー名、パスワード)を入力した後、追加のフィールドが2番目の画面に表示されます。
カスタムフィールドを作成する
これら4つの必須パラメーターをすべて渡す新しいCustomField
オブジェクトを作成します。
Icon:Iconとして使用するリソースを指す
int
(小さい値にします)。Type:このフィールドで使用する
FieldType
です。Typeはキーボード レイアウトを定義し、場合によっては入力検証を定義します。Key:結果の JSON でこの値を識別する
文字列
です。これは繰り返すことはありません。フィールド キーが繰り返されると、2番目のフィールドがリストから削除されます。ヒント:フィールドにヒントとして表示されるテキストの
@StringRes
です。
さらに、フィールドがユーザーのプロファイルに保存される場所を指定できます。詳細については、以下のストレージセクションを参照してください。
ユーザーには表示されないが、サインアップ後に動的に追加のメタデータを含めるために使用できるフィールドを作成することもできます。
// 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?
必要なフィールドの数だけ上記の手順を繰り返します。
カスタムフィールドを使用する
withSignUpFields()
メソッドを使用して、構築中にカスタムフィールドのリストをLockインスタンスに渡します。
val lock = Lock.newBuilder(auth0, callback)
.withSignUpFields(customFields)
//...
.build(this)
Was this helpful?
アプリケーションのダッシュボードでサインアップを有効にした場合、ユーザーは基本フィールド(メール/ユーザー名、パスワード)を入力して[Submit(送信)]をクリックした後、残りのフィールドを入力するように求められます。サインアップを完了するには、ユーザーはすべてのカスタムフィールドに入力する必要があります。
サインアップ時に、選択したストレージ オプションに応じて、追加のフィールドがuser_metadata
属性に添付されるか、ルートユーザープロファイルに直接設定されます。これらのプロパティには、ユーザー セクションのDashboardからでも、いつでもユーザープロファイルを照会してアクセスできます。
Field Types(フィールドタイプ)
各カスタムフィールドには、1つのFieldType(フィールドタイプ)
のみを関連付けることができます。
TYPE_NAME
TYPE_NUMBER
TYPE_PHONE_NUMBER
TYPE_EMAIL
ストレージ
各カスタムフィールドには、1つのStorage(ストレージ)
のみを関連付けることができます。ルートプロファイル属性のルートレベルに保存するか、user_metadata
属性内に保存するかを選択できます。Storage(ストレージ)
の場所を指定するには、5つのパラメーターのコンストラクターを使用し、選択したStorageパラメーターを渡します。デフォルトでは、フィールドはuser_metadata
属性内に保存されます。
利用可能な選択肢:
PROFILE_ROOT
USER_METADATA(デフォルト)
フィールドをユーザープロファイルのルートレベルに保存するには、そのキーがエンドポイントのドキュメントにリストされているキーと一致する必要があります。