App 列の型は、現在のアプリ内の別のビューに移動するとき、または別のアプリに移動するときに使用します。App 列の値は、ディープリンクである必要があります。
ディープリンクは、特定の形式を持つ特別なテキストの値です。ディープリンクを作成する方法は 2 つあります。
- ディープリンク式を使用する(最も簡単な方法)
- ディープリンクを手動で構築する
詳しくは、サンプルアプリを使ってみるをご参照ください。
サンプルアプリを使ってみる
LINKTOVIEW() を使用して別のアプリのビューにディープリングする方法について、行の選択時にビューを変更するサンプルアプリを使用して学びます。このサンプルで定義する Change View というアクションは、LINKTOVIEW() 関数を使用し、Views テーブルの View Name 列に基づいて現在のビューを変更します。
ディープリンク関数を使用する
AppSheet には、ディープリンクを作成するための以下の関数があります。
| 関数 | 説明 | 例 |
LINKTOAPP() |
アプリへのディープリンクです。 |
アプリ
|
LINKTOFILTEREDVIEW() |
フィルタされた行の値が含まれるビューへのディープリンクです。 |
注: 2 番目の引数は、ビューの行に対するフィルタ式です。これは、
|
LINKTOFORM() |
値が事前に入力されたフォームへのディープリンクです(アプリを指定しない場合は現在のアプリ)。 |
注: 以下の例では、この関数によって、
|
LINKTOPARENTVIEW() |
親ビューへのディープリンクです。 |
現在のアプリの親ビューに移動します:
|
LINKTOROW() |
行へのディープリンクです(アプリを指定しない場合は現在のアプリ)。 |
|
LINKTOVIEW() |
ビューへのリンクです(アプリを指定しない場合は現在のアプリ)。 |
|
ディープリンクを手動で構築する
アプリ名とリンク パラメータ指定することで、手動でディープリンクを構築できます。以降のセクションでその方法を説明し、例を示します。
- ディープリンクに空白文字や他の HTTP 特殊文字が含まれているときは、
ENCODEURL()式を使用して URL エンコードする必要があります。 - ディープリンクはテキストの値で、アプリの式ではありません。リンクは引用符で囲む必要があります。
アプリ名
ディープリンクでアプリ名を指定できます。アプリ名が指定されていなければ、現在のアプリ名の使用が想定されます。
アプリの名前は、エディタでアプリを表示する場合やパソコンのブラウザでアプリにアクセスする場合のアプリ URL の appName クエリ パラメータによって定義されます(これは [Settings] で定義するアプリの略称とは異なります)。たとえば、次のアプリ URL では、アプリ名は ShiftManagement-3518598 です。
https://www.appsheet.com/template/AppDef?appName=ShiftManagement-3518598&appId=58bb9fcc-b701-462a-87fd-34129fe8fcba&quickStart=False#Data.Columns.Admin%20Scheduled%20Shift
リンク パラメータ
ディープリンクで、# 記号に続けてオプションのリンク パラメータを指定すると、どのビューや行を表示するかをコントロールできます。リンク パラメータは & 記号で区切ります。次のリンク パラメータがサポートされています。
| リンク パラメータ | 説明 |
view |
表示される UX ビューの名前。リンク パラメータを指定するには、このパラメータは必須です。 |
row |
表示される行のキー。このパラメータが必須なビューもあれば、オプションのビューもあります。 |
mapcolumn |
Map ビューの基礎となる Address 列または LatLong 列の名前。このパラメータは Map ビューのコントロールに使用されます。 |
at |
データでこれ以上であることが求められる最小のタイムスタンプ。このタイムスタンプを将来の時間に設定することで、アプリが強制的に同期され、データの変更が反映されます。これにより、古いデータを使用して作業することが避けられます。このパラメータの最も一般的な用途は、メール、SMS、プッシュ通知を、アプリの特定のデータエントリへのリンクとともに送信することです。 |
手動で構築されるディープリンクの例
次の表に、手動で構築されるディープリンクの例を示します。
| ディープリンク先 | 例 | 説明 |
| アプリ | "MyApp-123" |
アプリ MyApp-123 に移動し、デフォルトの開始ビューを表示します。 |
| 現在のアプリ内のビュー | "#view=New Orders" |
現在のアプリ内の New Orders ビューに移動します。 |
| 別のアプリ内のビュー | "MyOtherApp-123#view=Other New Orders" |
アプリ MyOtherApp-123 に移動し、Other New Orders ビューを表示します。 |
| 現在のアプリ内のビューと行 | "#view=Order Details&row=order456" |
現在のアプリ内の |
CONCATENATE("#view=Order Details&row=", ENCODEURL([Order Detail ID])) |
現在のアプリ内の |
|
CONCATENATE(LINKTOVIEW("Inspections"), "&at=", ENCODEURL(NOW()+1)) |
現在のアプリ内の Inspections ビューに移動し、強制的に同期を行います。 | |
| 別のアプリ内のビューと行 | "MyOtherApp-123#view=Other Order Details&row=order456" |
アプリ MyOtherApp-123 の Other Order Details ビューに移動し、キーの値が order456 である行を表示します。 |
CONCATENATE("MyOtherApp-123#view=Other Order Details&row=", ENCODEURL([Order Detail ID])) |
アプリ MyOtherApp-123 の Other Order Details ビューに移動し、行のキーの値が [Order Detail ID] フィールドに含まれている値と一致する行を表示します。 |
|
| アプリと強制的な同期 | CONCATENATE(LINKTOAPP("MyApp-123"), "#at=", ENCODEURL(NOW()+1)) |
アプリ MyApp-123 に移動して強制的に同期を行い、そのアプリのデフォルトの開始ビューを表示します。 |