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

ステートメント リストは、既知の場所にある JSON エンコードのファイルまたはスニペットです。

ステートメント リストの場所

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

構文

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

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

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

ウェブサイトとアプリの両方に関する記述を含むウェブサイトの記述リストの例: 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>

詳細情報

ステートメントリストの形式と基本的な概念については、仕様書に詳しい説明があります。