Skip to main content
Lock.Android では、新しいアカウントを作成する前にユーザーが入力する必要のある追加フィールドを指定できます。これらの追加フィールドは、ユーザーが基本フィールド (メールアドレス、ユーザー名、パスワード) を入力した後、2 つ目の画面に表示されます。

Custom Fields を作成する

4 つの必須パラメータをすべて指定して、新しい CustomField オブジェクトを作成します。
  1. Icon: Icon として使用するリソースを指す int です (小さめのものを使用してください) 。
  2. Type: このフィールドで使用する FieldType です。タイプによってキーボードレイアウトが決まり、場合によっては入力のバリデーションも行われます。
  3. Key: 結果の JSON でこの値を識別する String です。重複はできません。フィールドキーが重複すると、2 つ目のフィールドは一覧から削除されます。
  4. Hint: フィールド内のヒントとして表示するテキストの @StringRes です。
さらに、そのフィールドをユーザーのプロファイル内のどこに保存するかも指定できます。詳しくは、以下の Storage セクションを参照してください。 また、ユーザーには表示されないものの、サインアップ後に追加のメタデータを動的に含めるために使用できるフィールドを作成することもできます。
必要なフィールドの数だけ、上記の手順を繰り返します。

カスタムフィールドを使用する

Lock の構築時に、withSignUpFields() メソッドを使用してカスタムフィールドの一覧を Lock インスタンスに渡します。
アプリケーションのAuth0 Dashboardでサインアップを有効にしている場合、ユーザーは基本項目 (メールアドレス/ユーザー名、パスワード) の入力後に Submit を押すと、残りのフィールドの入力を求められます。サインアップを完了するには、すべてのカスタムフィールドを入力する必要があります。 サインアップ時には、追加フィールドは、選択した Storage オプションに応じて user_metadata 属性に追加されるか、root ユーザープロファイルに直接設定されます。これらのプロパティには、ユーザープロファイルを照会することでいつでもアクセスでき、Auth0 Dashboard の Users セクションからも確認できます。

フィールドの種類

各カスタムフィールドには、関連付けられる FieldType を 1 つだけ設定できます。
  • TYPE_NAME
  • TYPE_NUMBER
  • TYPE_PHONE_NUMBER
  • TYPE_EMAIL

保存先

各カスタムフィールドに指定できる Storage は 1 つだけです。保存先として、プロファイルのルートレベルにある属性、または user_metadata 属性内を選択できます。保存場所を指定するには、5 つのパラメータを取るコンストラクタを使用し、任意の Storage パラメータを渡します。デフォルトでは、フィールドは user_metadata 属性内に保存されます。 利用可能な選択肢:
  • PROFILE_ROOT
  • USER_METADATA (デフォルト)
フィールドをユーザーのプロファイルのルートレベルに保存するには、そのキーが エンドポイントのドキュメント に記載されているものと一致している必要があります。