Danh sách câu lệnh là một tệp hoặc đoạn mã được mã hoá bằng JSON ở một vị trí quen thuộc.
Vị trí của danh sách câu lệnh
Hãy xem phần Tạo danh sách câu lệnh để tìm hiểu nơi bạn nên lưu trữ danh sách này.
Cú pháp
Danh sách hoặc đoạn mã câu lệnh bao gồm một mảng JSON gồm một hoặc nhiều câu lệnh về trang web hoặc ứng dụng dưới dạng các đối tượng JSON. Các câu lệnh này có thể theo thứ tự bất kỳ. Sau đây là cú pháp chung:
[ { "relation": ["relation_string"], "target": {target_object} } , ... ]
- relation
- Một mảng gồm một hoặc nhiều chuỗi mô tả mối quan hệ đang được khai báo cho mục tiêu. Xem danh sách các chuỗi mối quan hệ được xác định. Ví dụ:
delegate_permission/common.handle_all_urls
- mục tiêu
- Thành phần mục tiêu mà câu lệnh này áp dụng. Các loại mục tiêu có thể dùng:
- relation_extensions (không bắt buộc)
-
Bạn có thể thêm trường
relation_extensions
(không bắt buộc) vào một câu lệnh để cung cấp thêm thông tin về các quyền và mối liên kết mà bạn muốn cấp. Trường này phải là một đối tượng, trong đó mỗi khoá là một chuỗi mối quan hệ và giá trị là một đối tượng chứa các tiện ích cho mối quan hệ đó. Bạn cần cập nhật những ứng dụng yêu cầu các câu lệnh này để tuân thủ các trường này.Ví dụ:
relation_extensions
cho mối quan hệdelegate_permission/common.handle_all_urls
có thể trông như sau:{ "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": {...} } }
DAL API hỗ trợ việc trả về relation_extensions trong các lệnh gọi API khi tham số
return_relation_extensions=true
được đặt trong yêu cầu.
Ví dụ về danh sách câu lệnh
Sau đây là một ví dụ về danh sách câu lệnh của trang web có chứa các câu lệnh về cả trang web và ứng dụng: http://example.digitalassetlinks.org/.well-known/assetlinks.json
Mở rộng quy mô lên hàng chục câu lệnh trở lên
Trong một số trường hợp, một chủ thể có thể muốn đưa ra nhiều tuyên bố khác nhau về các mục tiêu khác nhau, hoặc có thể cần đưa ra tuyên bố từ nhiều chủ thể khác nhau cho cùng một nhóm mục tiêu. Ví dụ: một trang web có thể có nhiều Miền cấp cao nhất theo quốc gia và tất cả các miền này đều có thể muốn đưa ra một tuyên bố về cùng một ứng dụng di động.
Trong những trường hợp này, câu lệnh include có thể hữu ích. Bằng cách sử dụng cơ chế này, bạn có thể thiết lập con trỏ từ nhiều đối tượng chính khác nhau đến một vị trí trung tâm, xác định các câu lệnh cho tất cả các đối tượng chính.
Ví dụ: bạn có thể quyết định rằng vị trí trung tâm phải là "https://example.com/includedstatements.json". Bạn có thể định cấu hình tệp này để chứa nội dung giống như trong các ví dụ ở trên.
Để thiết lập một con trỏ từ trang web đến tệp include, hãy thay đổi "https://example.com/.well-known/assetlinks.json" thành:
[{ "include": "https://example.com/includedstatements.json" }]
Để thiết lập một con trỏ từ ứng dụng Android đến tệp include, hãy thay đổi "res/values/strings.xml" thành:
<resources> ... <string name="asset_statements"> [{ \"include\": \"https://example.com/includedstatements.json\" }] </string> </resources>
Thông tin khác
Bạn có thể xem giải thích chi tiết hơn về định dạng danh sách câu lệnh và các khái niệm cơ bản trong tài liệu đặc tả của chúng tôi.