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

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

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

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

構文

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

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

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

ウェブサイトとアプリの両方に関するステートメントを含むウェブサイト ステートメント リストの例を以下に示します。http://example.digitalassetlinks.org/.well-known/assetlinks.json

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

場合によっては、プリンシパルは多数の異なるステートメントを行いたいことがあります さまざまなターゲットに関する記述があり、 異なるプリンシパルを同じターゲット セットに割り当てます。たとえば、ウェブサイトは 国ごとに多数の異なるトップレベル ドメインで利用でき、 同じモバイルアプリについて言及するとよいでしょう

このような場合は、include ステートメントが役立ちます。このメカニズムを使用すると、さまざまなプリンシパルからリソースへのポインタを設定でき、 すべてのプリンシパルのステートメントを定義する、一元的な場所。

たとえば、一元化された場所を「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>

より詳しく

ステートメント リストの形式と基盤となるコンセプトの詳細については、仕様書をご覧ください。