App 列の型は、現在のアプリで別のビューに移動する、または別のアプリに移動するために使用されます。App 列の値はディープリンクの必要があります。
注: App 列は通常の列であることに加えて、アプリ ランチャーや App Actions でも使用できます。
ディープリンクとは
ディープリンクは、特定の形式を持つ特別なテキストの値です。ディープリンクを作成する方法は 2 つあります。
- ディープリンク式を使用する(最も簡単な方法)
- ディープリンクを手動で構築する
使ってみる
LINKTOVIEW()
を使用して別のアプリのビューにディープリングする方法について、行の選択時にビューを変更する機能サンプルを使用して学びます。このサンプルで定義する Change View というアクションは、LINKTOVIEW()
関数を使用し、Views テーブルの View Name
列に基づいて現在のビューを変更します。
ディープリンク式を使用する
AppSheet には、ディープリンクを作成するためのヘルパー式が用意されています。
アプリにリンクする方法
-
LINKTOAPP("MyApp-123")
はアプリMyApp-123
に移動し、そのデフォルトの開始ビューを表示します。
現在のアプリのビューにリンクする方法
-
LINKTOVIEW("New Orders")
は現在のアプリのNew Orders
ビューに移動します。
別アプリの特定のビューにリンクする方法
-
LINKTOVIEW("Other New Orders", "MyOtherApp-123")
はアプリMyOtherApp-123
に移動し、Other New Orders
ビューを表示します。
現在のアプリの親ビューにリンクする方法
-
LINKTOPARENTVIEW()
は現在のアプリの親ビューに移動します。
現在のアプリの特定のビューと行にリンクする方法
-
LINKTOROW("order456", "Order Details")
は現在のアプリのOrder Details
ビューで、キーorder456
を持つ行に移動します。 -
LINKTOROW([Order Detail ID], "Order Details")
は現在のアプリのOrder Details
ビューで、[Order Detail ID]
に含まれているキーの値を持つ行に移動します。
別のアプリで特定のビューと行にリンクする方法
-
LINKTOROW("order456", "Other Order Details", "MyOtherApp-123")
はアプリMyOtherApp-123
に移動し、Other Order Details
ビューで、キーorder456
を持つ行を表示します。 -
LINKTOROW([Order Detail ID], "Other Order Details", "MyOtherApp-123")
はアプリMyOtherApp-123
に移動し、Other Order Details
ビューで、[Order Detail ID]
フィールドに含まれているキーの値を持つ行を表示します。
現在のアプリで、事前に入力された値を持つフォームにリンクする方法
-
LINKTOFORM("New Order", "Store", "Main Warehouse", "Type", "Wholesale")
は現在のアプリでNew Order
フォームに移動します。[Store]
列にはMain Warehouse
という値、[Type]
列にはWholesale
という値が事前に入力されます。関数には、列名と列の値のペアをいくつでも含めることができます。
別のアプリで、事前に入力された値を持つフォームにリンクする方法
-
LINKTOFORM("Other New Order", "Store", "Main Warehouse", "Type", "Wholesale", "MyOtherApp-123")
はアプリMyOtherApp-123
に移動し、Other New Order
フォームを表示します。[Store]
列にはMain Warehouse
という値、[Type]
列にはWholesale
という値が事前に入力されます。関数には、列名と列の値のペアをいくつでも含めることができます。
フィルタリングされた値を持つビューにリンクする方法
-
LINKTOFILTEREDVIEW("Order View", [Order Status] = Open)
はOrder View
に移動し、Order Status
がOpen
であるOrders
を表示します。LINKTOFILTEREDVIEW()
の 2 番目の引数は、ビューの行に対するフィルタ式です。これは、SELECT()
式のフィルタと類似のものです。 -
LINKTOFILTEREDVIEW("Customers Table View", AND([Sales Rep] = [_THISROW].[Sales Rep Id], [Priority] = High))
はCustomers Table View
に移動し、現在の営業担当者と関連付けられている優先度の高い顧客を表示します。 -
LINKTOFILTEREDVIEW("Students Table View", [Age] < [_THISROW].[Age])
はStudents Table View
に移動し、現在の生徒より年齢が若い生徒を表示します。
ディープリンクを手動で構築する
ディープリンクを手動で構築できます。
アプリ名
ディープリンクでアプリ名を指定できます。アプリ名が指定されていなければ、現在のアプリ名の使用が想定されます。
アプリの名前は、エディタでアプリを表示する場合やパソコンのブラウザでアプリにアクセスする場合のアプリ 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
(以前のcontrol
)
いずれかのリンク パラメータを指定するには、このパラメータが必要です。表示される UX ビューの名前を指定します。 -
row
このパラメータは一部のビューで必須、他のビューではオプションです。表示される行のキーを指定します。 -
mapcolumn
このパラメータは Map ビューのコントロールに使用されます。Map ビューの基礎となる Address または LatLong 列の名前を指定します。 -
at
このパラメータはタイムスタンプを指定し、データが少なくともタイムスタンプと同等に新しいものであることを要求するために使用されます。このパラメータの最も一般的な用途は、ワークフロー、メール、SMS、プッシュ通知を、アプリの特定のデータエントリへのリンクとともに送信することです。これによってアプリを強制的に同期し、データの変更を受け取ることで、古いデータを使用して作業することを避けられます。
形式についてのヒント
ディープリンクに空白文字や他の HTTP 特殊文字が含まれているときは、ENCODEURL()
式を使用して URL エンコードする必要があります。
ディープリンクはテキストの値で、アプリの式ではありません。リンクは引用符で囲む必要があります。
例
アプリにリンクする方法
-
"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"
は現在のアプリのOrder Details
ビューに移動し、キーorder456
を持つ行を表示します。 -
CONCATENATE("#view=Order Details&row=", ENCODEURL([Order Detail ID]))
は現在のアプリのOrder Details
ビューに移動し、[Order Detail ID]
に含まれているキーの値を持つ行を表示します。
別のアプリで特定のビューと行にリンクする方法
-
"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("MyApp-123#at=", ENCODEURL(NOW()+1))
はアプリMyApp-123
に移動し、強制的に同期を行って、デフォルトの開始ビューを表示します。