Indoors アプリの起動アクションの構成

Indoors の機能のライセンスが付与されたポータルで利用できます。​

ArcGIS Indoors は、Indoor Viewer の情報パネルや ArcGIS Indoors for iOS および ArcGIS Indoors for Android の情報カードからサードパーティ アプリを直接起動するアクションに対応しています。これらの起動アクションを実行すると、Indoors アプリのユーザーはサードパーティ アプリを直接起動できるようになるため、Indoors 組織は Indoors アイテムに関連する情報や、Indoors マップに含まれている他の作業指示、アセット、その他の対象ポイント レイヤーで使用可能なアイテムを他のビジネス システムから簡単に統合できるようになります。起動アクションは、Web ページかネイティブ モバイル アプリを開くよう構成できます。これにより、Indoors で選択したアイテムに対するインシデントやリクエストを提出して、アイテムの情報をフォーム フィールドに自動入力したり、Indoors で選択したアイテムに関連する情報を Web ページやモバイル アプリで直接開いたりできるようになります。

起動アクションを含められる機能により、Indoors アプリのユーザーは Indoors マップのアセットやその他のアイテムに対する報告を行ったり、アプリがサポートする複数のビジネス システム間を切り替える際に混乱することなく、これらのアイテムに関する詳細を見つけたりしやすくなります。この機能は、ArcGIS Pro の Indoors Configuration テーブルの [APP_LAUNCH_ACTIONS] パラメーターの構成で使用できます。

Indoors アプリで使用する Web マップやモバイル マップ パッケージを共有するために Indoors データベースを準備するときに、特定のレイヤーやカテゴリに対して起動アクションをオプションで指定することもできます。その場合は、適切に書式設定された JSON 文字列を [APP_LAUNCH_ACTIONS] 構成パラメーターに含めてから、Web マップやモバイル マップ パッケージを共有します。

メモ:

組織内で Viewer を使用するユーザーがネイティブの Indoors モバイル アプリを使用しない場合は、この手順を無視し、Viewer構成パネルを使用して、構成可能な ArcGIS Indoors アプリのインスタンスに含まれる起動アクションを構成することもできます。組織内のユーザーに Viewer および Indoors モバイル アプリの両方を使用してもらう場合、Viewer の構成パネルを活用することができます。その場合、まず Web アプリで起動アクションを構成し、生成された JSON 文字列を [APP_LAUNCH_ACTIONS] 構成パラメーターにコピーしてから、モバイル マップ パッケージを ArcGIS Enterprise ポータルと共有します。

JSON 構文

起動アクションは、ArcGIS Pro の Indoors Configuration テーブルの [APP_LAUNCH_ACTIONS] パラメーターに適切に構成された JSON 文字を含めることで有効にできます。起動アクションを定義する際に、マップの個々のレイヤーや、Categories テーブルで定義した個々のカテゴリやサブカテゴリに、これらのアクションを適用できます。

この JSON 文字列の構文は次のとおりです。

JSON キー説明

actions

選択したレイヤーやカテゴリで使用可能なアクションのリスト。

label

使用可能なアクションのリストに表示される単一アクションの名前。

Indoors Web マップまたはモバイル マップ パッケージで使用するよう構成されているアクションが 1 つしかない場合は、アクションの汎用アイコンが表示されます。複数のアクションが構成されている場合は「その他」アイコンが表示され、アプリでボタンが選択されると、使用可能なアクションのリストがドロップダウン メニューに表示されます。

url

適切に書式設定された起動 URL。

layers

アクションが適用されるマップ レイヤーのリスト。

categories

アクションが適用される構成済みカテゴリのリスト。

例:
{
  "actions": [
    {
      "label": "Fill out survey",
      "url": " https://survey123.arcgis.com/share/surveyformGUID?portalUrl=https://myportal.myorg.com/portal?field:room={Units.NAME}",
      "layers": [
        "Units",
        "Levels"
      ],
      "categories": [
        "Places + Things",
        "Fire Extinguisher"
      ]
    },
    {
      "label": "Report Incident",
      "url": "https://servicenow.com/report?username={user.username}",
      "layers": ["*"],
      "categories": ["*"]
    },
    {
      "label": "Make Request",
      "url": "https://servicenow.com/report?username={user.username}&room={Units.NAME}",
      "layers": ["Units"]
    }
  ]
}

この例では、3 つの個別のアクションがリストされています。最初のカテゴリ (“Fill out survey”) は、「Units」または「Levels」レイヤーか、「Places + Things」レベル 1 カテゴリか、「Fire Extinguisher」レベル 2 サブカテゴリにある選択済みアイテムに限定されます。Indoors はアクションの連携を特定の種類のアイテムに限定する柔軟性があるため、この区別は重要です。所定のシステムが、特定の種類のアセットやアクティビティをサポートする場合に有用となります。

2 つ目のアクション (“Report Incident”) には、すべてのレイヤーとすべてのカテゴリの主要な用語が定義に含まれます。“*” の用語をレイヤーとカテゴリのリストに含めることで、Indoors アプリで任意のレイヤーやカテゴリのアイテムを選択すると、情報パネルからこのアクション タイプがサポートされるようになります。

3 つ目のアクション (“Make Request”) は単一レイヤーのアイテムに限定されており、関連カテゴリはありません。

メモ:
  • アクションは、レイヤーかカテゴリ、またはその両方に割り当てられます。アクションがレイヤーとカテゴリの両方に割り当てられている必要はありません。カテゴリで表されるレイヤーにアクションを割り当てると、そのレイヤーに対して構成されたすべてのカテゴリとサブカテゴリにアクションが適用されます。
  • レベル 1 カテゴリに割り当てられたアクションは、関連するレベル 2 カテゴリで自動的に使用可能になるため、カテゴリ リストに複製する必要はありません。レベル 2 サブカテゴリに割り当てられたアクションは、そのサブカテゴリのアイテムでのみ使用可能です。
  • レイヤーやカテゴリが構成されていないアクションは、Indoors アプリには表示されません。

URL の構文

起動アクションは URL によって有効になり、構文は一般的な URL 規則に従う必要があります。たとえば、引数に含まれる特殊記号は URL でエンコードされ、引数または値のペアは標準的な URL 規則で区切る必要があります。

Indoors では、値は中かっこで囲み、次の構文に対応する必要があります。

?arg={Layer.Attribute}&arg={Attribute}

メモ:

レイヤーはオプションですが、含まれていない場合は、Indoors で選択中のアイテムにデフォルト設定されます。ユース ケースの多くでは、マップまたはシーンの異なるレイヤーから属性を渡すことが必要となります。これは、レイヤー演算子でサポートされています。引数と値は、大文字と小文字が区別されません。

次の例をご参照ください。

単一の値

?Name={KNOWNAS}&building={facility_name}&space={Units.Name}

複数の値

?center={shape.y},{shape.x}

他のフィーチャクラスの値

&site={FACILITIES.SITE_ID}

特定のフィールドへの値の指定

&field:room={units.name}

サポートされる引数と値の形式

起動アクション URL は汎用引数 (field={Units.UNIT_ID}) で値を渡したり、Survey123 形式 (field:room={Units.Name}) の指定フィールドの値をポイントしたりできます。

さらに、複数の引数をまとめてリストし、その中にテキストを入力することもできます。

https://<MySurveyURL>?Name={knownas}&office=office%3A%20{units.NAME}&loc={shape.x},{shape.y},{shape.z}

Survey123 との連携

Survey123 は、Indoors ライセンスに含まれています。サポートされる他の作業指示システムやチケット発行システムがない場合は、起動アクションは Survey123 を使用するよう構成できます。

アクション ボタンの使用を Survey123 でカスタマイズするには、有効な引数や値のペアを URL に付加します。

例: 基本 URL (デフォルトの振舞い)

https://survey123.arcgis.com/share/surveyformGUID?portalUrl=https://myportal.myorg.com/portal

例: カスタム

この例では、デフォルトの部屋の入力を、Units レイヤーの名前フィールドに置換します。

https://survey123.arcgis.com/share/surveyformGUID?portalUrl=https://myportal.myorg.com/portal&field:room={Units.NAME}

例: モバイル デバイスの Survey123 ネイティブ アプリを起動

"url": "arcgis-survey123://?itemID=surveyformGUID&portalUrl=https://myportal.myorg.com/portal&field:comments={Units.NAME}"

メモ:

ただし、Viewer で使用する起動アクションを構成するときに、ネイティブ モバイル アプリ固有の URL を使用する際は注意が必要です。これらの URL はデスクトップ ユーザー向けにはサポートされていません。また、起動アクションを定義するときにネイティブ アプリの URL を使用する場合は、ネイティブの Indoors アプリか、モバイル ブラウザーからアクセスされる Viewer をサポートするワークフローに限定する必要があります。

サードパーティ システムとの連携

アクション ボタンは、サードパーティ URL を開いて属性値を渡すように構成することもできます。その場合は、サードパーティ システムが URL の構成可能な形式や、起動時にアクションを実行するパラメーターをサポートしている必要があります。このケースでは、連携システムの適切な URL を使用し、Indoors アプリの構成のシステムを呼び出す URL を使用します。一般的な用途としては、サードパーティの作業指示管理システムやアセット管理システムへのリンクが挙げられます。

サードパーティ システムを使用する場合は、以下の点を考慮してください。

  • field: 演算子が異なる場合があります。
  • URL 引数をサポートする Web フォームには、追加の構成が必要となることがあります。
  • この構成が行えるかどうか、およびその方法の詳細については、連携システムのベンダーにお問い合わせください。

メモ:

場合によっては、使用されるビジネス システムに応じ、# や + などの記号が使えないことがあります。

作業指示管理システムとの連携

Indoors では、外部のアセットおよび作業指示管理システムを起動できます。Viewer の情報パネルや Indoors モバイル アプリの情報カードのアクション ボタンは、Indoors のスペースやアセット、またはその他のアイテムに関連するインシデントやリクエストなどの新しい情報を記録したり、サードパーティの作業指示管理アプリで既存の作業指示を開いたりする場合に使用される Web フォームまたはサードパーティのネイティブ アプリを開くよう構成できます。

Indoors では、作業指示と Indoors レイヤー属性を URL のクエリ文字列として渡すことができます。起動をサポートするためには、構文は Indoors と作業指示アプリ システムの URL/URI スキーマに従う必要があります。

属性値は中括弧で囲み、次の構文に一致する必要があります。

?arg={Work order Attribute}&arg={Layer.Attribute}

その他の構文例を次に示します。

作業指示レイヤーの単一の値

?arg={workorderid}

作業指示レイヤーの複数の値

?arg={workorderid}&arg={priority}

作業指示および Indoors レイヤーの値

?arg={workorderid}&arg={Layer.Attribute}

ServiceNow URL

次の例では、作業指示番号をパラメーターとして渡し、既存の作業指示を開きます。

https://<MyServerURL>/nav_to.do?uri=task.do?sysparm_query=number={workorderid}

ServiceNow の起動アクションの構成例の詳細をご参照ください。

Indoors Configuration テーブルで起動アクションの構成文字列を設定します。

Indoors for iOS または Indoors for Android の情報カードにアクション ボタンを公開するには、サードパーティ アプリの 1 つ以上の URL を Indoors Configuration テーブルに追加する必要があります。Viewer の起動アクションは構成パネルで構成できますが、Indoors Configuration テーブルに有効な構成の JSON 文字列が含まれている場合、構成パネルではその値がデフォルト設定として使用されます。Indoors Configuration テーブルは、ArcGIS Indoors 情報モデル内のスタンドアロンのテーブルです。これは、Indoors モバイル アプリのモバイル マップ パッケージを作成するときには含める必要がありますが、Viewer の Web マップではオプションです。

Indoors Configuration テーブルで 1 つ以上の URL で起動アクションを構成するには、次の手順を実行します。

  1. ArcGIS Pro[コンテンツ] ウィンドウで、[Indoors Configuration] テーブルを右クリックして [開く] をクリックします。

    Indoors Configuration テーブル ビューが表示されます。

  2. [APP_LAUCH_ACTIONS][Config Value] フィールド ([Config Key] の下) をダブルクリックして、構成するアクションの JSON 構成文字列を設定します。
    メモ:

    [APP_LAUCH_ACTIONS] を設定しない場合、Indoors for AndroidIndoors for iOS の情報カードで起動アクション ボタンが無効になります。