Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
陳述式清單語法
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
聲明清單是經過 JSON 編碼的檔案或程式碼片段,位於已知位置。
聲明清單位置
如要瞭解這份清單的儲存位置,請參閱「建立對帳單清單」。
語法
聲明清單或程式碼片段包含一或多個網站或應用程式聲明的 JSON 陣列 (以 JSON 物件形式呈現)。這些陳述式可按任意順序排列。一般語法如下:
[
{
"relation": ["relation_string"],
"target": {target_object}
} , ...
]
- relation
- :一或多個字串的陣列,用來描述系統宣告與目標相關的關係。請參閱定義的關係字串清單。範例:
delegate_permission/common.handle_all_urls
- 目標
- 這個陳述式適用的目標資產。可用的目標類型:
-
網站目標
"target": {
"namespace": "web",
"site": "site_root_url"
}
- 命名空間
- 網站必須為
web。
- 網站
- 陳述式目標網站的 URI,格式為
http[s]://<hostname>[:<port>],其中 <hostname> 必須完整,且使用 HTTP 的通訊埠 80 或 HTTPS 的通訊埠 443 時必須省略 <port>。網站目標只能是根網域,無法限制為特定子目錄,這個根網域下的所有目錄都會相符。子網域不應視為相符項目:也就是說,如果聲明檔案託管於 www.example.com,www.puppies.example.com 就不應視為相符項目。如需網站目標比對的規則和範例,請參閱目標說明文件。範例: http://www.example.com
-
Android 應用程式目標
"target": {
"namespace": "android_app",
"package_name": "fully_qualified_package_name",
"sha256_cert_fingerprints": ["cert_fingerprint"]
}
- 命名空間
- 必須是
android_app Android 應用程式。
- package_name
- 這項陳述式適用的應用程式完整套件名稱。範例:
com.google.android.apps.maps
- sha256_cert_fingerprints
- 這個陳述式適用的應用程式憑證大寫 SHA265 指紋。您可以使用
openssl 或 Java keytool 計算這項值,如下所示:
openssl x509 -in $CERTFILE -noout -fingerprint -sha256
keytool -printcert -file $CERTFILE | grep SHA256
範例: ["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]。
如果您的應用程式使用 Play 應用程式簽署功能,則在本地執行 keytool 或 openssl 產生的憑證指紋,通常不會與使用者裝置上的憑證相符。如要確認應用程式是否使用 Play 應用程式簽署功能,請登入 Play 管理中心的開發人員帳戶,然後前往 Release > Setup > App Integrity。如果應用程式使用這項功能,您會在同一頁面找到應用程式的正確 Digital Asset Links JSON 程式碼片段。
- relation_extensions (選用)
-
您可以在陳述式中加入選用的 relation_extensions 欄位,進一步提供想授予的權限和關聯資訊。這個欄位應為物件,其中每個鍵都是關係字串,值則是包含該關係擴充功能的物件。要求這些陳述的用戶端必須更新,才能遵守這些欄位。
舉例來說,delegate_permission/common.handle_all_urls 關係的 relation_extensions 可能如下所示:
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.app",
"sha256_cert_fingerprints": ["..."]
},
"relation_extensions": {
"delegate_permission/common.handle_all_urls": {...}
}
}
在要求中設定 return_relation_extensions=true 參數後,DAL API 即可在 API 呼叫中傳回 relation_extensions。
陳述清單範例
以下是網站聲明清單範例,其中包含網站和應用程式的聲明: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>
如要進一步瞭解陳述式清單格式和基本概念,請參閱規格文件。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2026-02-18 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2026-02-18 (世界標準時間)。"],[],[]]