プロジェクト ユーザー入力変数値はアプリの利用者によって入力され、プロジェクト内の 1 つ以上のボタンに適用できます。 アプリの利用者が値を入力しますが、プロジェクト作成者は変数を適用するボタンとフィールドを定義する必要があります。
次のことがプロジェクト ユーザー入力変数に当てはまります。
- プロジェクトあたり最大 3 つのプロジェクト ユーザー入力変数を定義できます。
- その値は、ボタンが押される前に利用者が入力します。 ユーザー入力が必須に設定されている場合は、プロジェクトの開始時にこの値の入力が求められますが、この値はいつでも編集できます。
- その値は、任意のボタンの任意のテキスト フィールドに適用できます。
- その値は、コード値ドメインで構成されたテキスト フィールドまたは整数フィールドに適用できます。
- その値は、範囲ドメインで構成されたテキスト フィールドには適用できません。
プロジェクト ユーザー入力変数のプロパティは次のとおりです。
- ラベル - アプリ内のプロジェクト ユーザー入力ページのタイトルとして表示するテキスト。
- 入力タイプ - 1 行テキスト、複数行テキスト、選択リストにすることができます。 選択リストの場合、値を定義して自由入力を許可できます。 プロジェクトに追加したクエリー レイヤーまたはテーブルのフィールドから値を取得するには、動的選択リストを使用します。
- ヒントの適用 - アプリ内のプロジェクト ユーザー入力ページにヒント テキストが表示されます。
- 入力マスクの適用 - 文字や記号を使用して入力マスクを定義することによって、データ入力の形式を定義します。
- バーコード スキャナーの表示 - 入力ダイアログ ボックスでバーコード スキャナーを使用し、テキスト フィールドに入力します。
注意:
QR CODE、UPC A、UPC E、EAN 8、EAN 13、CODE 39、CODE 128 形式がサポートされています。
- 必須 - ボタンをタップする前に、モバイル アプリの利用者がユーザー入力値を入力する必要があるかどうかを指定します。 必須でない場合は、利用者が必要に応じて、編集ボタン (画面上部に表示されたユーザー入力値の横にある) を選択して値を入力することによってユーザー入力値を入力できます。
注意:
必須フィールドを含むフィーチャ レイヤーにユーザー入力値を適用する場合は、必須プロパティが true に設定されていることを確認してください。そうしないと、送信エラーが発生します。
プロジェクト ユーザー入力変数は、各フィールドの [データ] タブまたは [プロジェクト ユーザー入力] メニュー項目で、プロジェクト作成者が作成し、構成します。
プロジェクト ユーザー入力変数をボタンの取得フィールドに割り当てるには、[データ] タブで、取得フィールドのドロップダウン メニューから、[プロジェクト ユーザー入力] を選択します。
モバイル アプリでは、データ フィールドの長さを上回るテキストの入力ができません。
動的選択リストの作成と使用
プロジェクト ユーザー入力は、既存のフィーチャ レイヤーまたはテーブルと関連付けることで動的選択リストを設定できます。 フィーチャ レイヤーまたはテーブルは、編集可能または読み取り専用にすることができます。 リストの内容は、作成者がリストのプロパティを構成することで制御できます。
プロジェクト ユーザー入力で動的選択リストを作成および使用するには、次の手順を実行します。
- プロジェクト ボタンをクリックして [ボタン] パネルを表示し、[データ] タブを選択します。
- 動的選択リストから選択した値を格納する [キャプチャ] フィールドで、[プロジェクト ユーザー入力] を選択します。
- [キャプチャ] フィールドのドロップ ダウン メニューで、[新規作成] を選択します。
- 動的選択リストのラベルを入力します。 このラベルはリストの上に表示されます。
- [入力タイプ] で [動的選択リスト] を選択します。
- [追加] をクリックして [すべてのレイヤーを参照] をクリックします。
- リストを設定するためにクエリーするフィーチャ レイヤーまたはテーブルを選択します
注意:
未使用のクエリー レイヤーは、保存時にプロジェクトから削除されます。 ここで、または [プロジェクト レイヤーの管理] パネルを使用して複数のクエリー レイヤーを追加する場合は、プロジェクトを保存する前に、クエリー レイヤーを少なくとも 1 つのボタンに追加してください。
- 以下のように残りのプロパティを入力します。
ヒント:
これらのプロパティを入力すると、[選択肢リストのプレビュー] サイド パネルでサンプル結果を確認できます
- 表示フィールド - モバイル アプリに表示する値。
- 値フィールド - レイヤーに格納する値。
- 並べ替えフィールド - 動的選択リストの並べ替えに使用するフィールド。
- 並べ替え順 - 昇順または降順。
- 更新モード - 手動または自動。 手動の場合、ユーザー入力を必須に設定すると、プロジェクトを最初に開いたときのみリストが更新されます。 以降の更新は、ユーザーがリストを下にドラッグすると実行されます。 自動の場合、ユーザー入力を必須に設定すると、プロジェクトを開いたときやユーザー入力が編集されたときにリストが更新されます。
- フィルター - 動的選択リストに表示する値を制限するのに使用する条件。 [フィルターの追加] ボタンをクリックしてフィルターを作成します。
- [作成] をクリックします。
新しく作成したこのプロジェクト ユーザー入力は、選択した [キャプチャ] フィールドに設定されます。
モバイル アプリは、リストの結果の最初のページのみを返します。これは ArcGIS Online フィーチャ サービスの場合、デフォルトで 2,000 レコードです。
モバイル アプリで動的選択リストを一度表示すると、オフラインで使用できます。リストの更新を取得するには、リストを再読み込みするときにデバイスがオンラインである必要があります。
フィルターの作成
フィルターを使用すると、プロジェクト ユーザー入力の動的選択リストに表示するフィーチャまたは値を制限できます。 1 つ以上の条件を指定して、リストに表示される内容を制限できます。
フィルターを作成するには、次の手順を実行します。
- [フィルター] ウィンドウでフィールド セレクターをクリックし、式に使用するフィールドを選択します。
- 演算子セレクターをクリックし、[範囲]、[等しい]、[含む] などの演算子を選択します。
日付フィールドを選択すると、別の演算子が表示されます。 [直近のこの期間内] 演算子を使用すると、動的な相対日付フィルターを適用し、当日を基準にして発生した出来事を表示することができます (過去 5 日以内に作成されたすべてのレコードなど)。この場合、手動でフィルターを毎日更新する必要はありません。
- 値の入力ボックスに、式で使用する値を入力します。 結果のリストはクエリー ビルダーの横にプレビューされます。
入力ボックスは、フィールド タイプと演算子によって異なります。 たとえば、[含む] または [除外する] 演算子を選択した場合は、指定したフィールド内のデータ値のリストから値を選択します。
日付フィールドを指定した場合は、選択した演算子に応じて、カレンダーで期間、1 つの日付を指定するか、1 つの日付を入力することができます。
- 必要に応じて、[AND] (すべてのフィルター条件を満たす必要があるように指定する) または [OR] (いずれかのフィルター条件を満たせばよいように指定する) を選択して、フィルターに別の式を追加します。
- [作成] をクリックしてフィルターを保存し、使用します。 既存の選択リストを編集している場合は [完了] をクリックします。
[高度な書式設定] オプションを使用してフィルターの作成や編集を行うこともできます。 このビューでは、WHERE 句の条件を式の中で直接作成または変更します。 オプションを使用して、選択したレイヤーからデバイス変数 (username、fullName、firstName、lastName、email) またはフィールドを選択できます。 たとえば、選択したレイヤー内の調査員フィールドにユーザー名が含まれている場合、アプリに現在サイン インしている調査員のユーザー名とのみ一致する値にリストをフィルターするには、Canvasser='${username}' という式を入力します。
注意:
[高度な書式設定] をクリックすると、フィルターは式として表示されます。 式を編集することはできますが、フィルター ビルダーには戻れません。 フィルター ビルダーを表示するには、ユーザー入力ダイアログ ボックスを閉じて再度開きます。 フィルターが保存され、フィールド、演算子、値セレクターを使用してフィルターを編集できるようになります。