语句列表语法

语句列表是位于已知位置的 JSON 编码文件或代码段。

对账单列表的位置

如需了解应存储此列表的位置,请参阅创建语句列表

语法

语句列表或代码段由一个或多个 JSON 数组(作为 JSON 对象)构成。这些语句可以按任何顺序排列。一般语法如下:

[
  {
    "relation": ["relation_string"],
    "target": {target_object}
  } , ...
]
关系
一个或多个字符串的数组,用于描述有关目标的关系。请参阅定义的关系字符串列表。示例delegate_permission/common.handle_all_urls
target
此语句适用的目标素材资源。可用的目标类型:

对账单列表示例

下面是一个网站声明列表示例,其中包含有关网站和应用的声明:http://example.digitalassetlinks.org/.well-known/assetlinks.json

扩容到数十个或更多语句

在某些情况下,主帐号可能需要针对不同的目标做出许多不同的语句,或者可能需要将不同主帐号上的语句发布到同一组目标。例如,一个网站可能在多个不同国家/地区的顶级网域上提供,并且所有这些网域可能需要对同一移动应用做出说明。

对于这种情况,include 语句会很有帮助。使用这种机制,您可以设置从多个不同主帐号指向一个中心位置的指针,从而为所有主帐号定义语句。

例如,您可以决定中心位置应为 `https://example.com/includedstatements.json`。此文件可配置为包含与上例相同的内容。

如需设置从网站指向 include 文件的指针,请将 `https://example.com/.well-known/assetlinks.json` 更改为:

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

如需设置从 Android 应用指向 include 文件的指针,请将 `res/values/strings.xml` 更改为:

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

详细信息

我们在规范文档中对语句列表格式和基本概念进行了更详细的说明。