ステートメント リストの構文

ステートメント リストは、よく知られている場所にある JSON でエンコードされたファイルまたはスニペットです。

明細書リストの場所

このリストを保存する場所については、ステートメント リストの作成をご覧ください。

構文

ステートメント リストまたはスニペットは、1 つ以上のウェブサイトまたはアプリのステートメントの JSON 配列(JSON オブジェクト)で構成されます。これらのステートメントは任意の順序で指定できます。一般的な構文は次のとおりです。

[
  {
    "relation": ["relation_string"],
    "target": {target_object}
  } , ...
]
関係
ターゲットについて宣言されている関係を示す 1 つ以上の文字列の配列。定義済みのリレーション文字列のリストをご覧ください。例: delegate_permission/common.handle_all_urls
target
このステートメントが適用されるターゲット アセット。使用可能なターゲット タイプ:

ステートメント リストの例

ウェブサイトとアプリの両方に関する明細を含むウェブサイトの明細リストの例は、http://example.digitalassetlinks.org/.well-known/assetlinks.json をご覧ください。

数十個以上のステートメントにスケーリング

プリンシパルがターゲットごとに異なるステートメントを多数作成したり、異なるプリンシパルから同じターゲット セットにステートメントを発行したりできる場合もあります。たとえば、1 つのウェブサイトが国ごとに異なる多数のトップレベル ドメインで利用可能で、それらすべてが同じモバイルアプリに関するステートメントを作成したい場合があります。

このような場合には、include ステートメントが役立ちます。 このメカニズムを使用して、多くのプリンシパルから 1 つの中央の場所へのポインタを設定できます。これにより、すべてのプリンシパルのステートメントが定義されます。

たとえば、中心となる場所を「https://example.com/includedstatements.json」にできます。このファイルには、上記の例と同じコンテンツを含めるように構成できます。

ウェブサイトからインクルード ファイルへのポインタを設定するには、「https://example.com/.well-known/assetlinks.json」を次のように変更します。

[{
  "include": "https://example.com/includedstatements.json"
}]

Android アプリからインクルード ファイルへのポインタを設定するには、res/values/strings.xml を次のように変更します。

<resources>
  ...
  <string name="asset_statements">
    [{
      \"include\": \"https://example.com/includedstatements.json\"
    }]
  </string>
</resources>

詳細情報

ステートメント リストの形式と基本的な概念の詳細については、仕様ドキュメントをご覧ください。