Bắt đầu

Tổng quan

Giao thức Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số) và API cho phép một ứng dụng hoặc trang web đăng các tuyên bố công khai, có thể xác minh về các ứng dụng hoặc trang web khác. Ví dụ: một trang web có thể khai báo rằng trang web đó được liên kết với một ứng dụng Android cụ thể, hoặc có thể khai báo rằng trang web đó muốn chia sẻ thông tin đăng nhập của người dùng với một trang web khác.

Dưới đây là một số cách sử dụng Đường liên kết đến tài sản kỹ thuật số:

  • Trang web A khai báo rằng các đường liên kết đến trang web của trang web sẽ mở trong một ứng dụng được chỉ định trên thiết bị di động, nếu ứng dụng đó được cài đặt.
  • Trang web A khai báo rằng có thể chia sẻ thông tin đăng nhập của người dùng trên Chrome với trang web B để người dùng không phải đăng nhập vào trang web B nếu đăng nhập vào trang web A.
  • Ứng dụng A khai báo rằng ứng dụng này có thể chia sẻ chế độ cài đặt thiết bị, chẳng hạn như thông tin vị trí, với trang web B.

Từ khóa

  • Chính: Chính là ứng dụng hoặc trang web đưa ra tuyên bố. Trong Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số), ứng dụng hoặc trang web chính luôn là ứng dụng hoặc trang web lưu trữ danh sách bảng sao kê.
  • Danh sách câu lệnh: Các câu lệnh nằm trong một danh sách câu lệnh chứa một hoặc nhiều câu lệnh. Danh sách câu lệnh là văn bản thô và có thể truy cập công khai, ở một vị trí do đối tượng chính kiểm soát và khó bị giả mạo hoặc can thiệp. Đó có thể là một tệp độc lập hoặc một phần của một mục khác lớn hơn. Ví dụ: trên một trang web, đó là một tệp hoàn chỉnh; trong ứng dụng Android, đó là một phần trong tệp kê khai ứng dụng. Bất kỳ ai cũng có thể xem và xác minh các tuyên bố bằng những phương thức không thuộc quyền sở hữu riêng. Xem tài liệu về danh sách bảng sao kê để biết thêm thông tin.
  • Câu lệnh: Câu lệnh là một cấu trúc JSON có cấu trúc chặt chẽ, bao gồm một relation (mục đích của câu lệnh, ví dụ: Cho phép chia sẻ thông tin đăng nhập) và một relation (trang web hoặc ứng dụng có liên quan). Do đó, mỗi câu lệnh giống như một câu, trong đó Primary (chính) thể hiện relation (mối quan hệ) về target (mục tiêu).
  • Đối tượng sử dụng câu lệnh: Đối tượng sử dụng bảng sao kê sẽ yêu cầu một danh sách bảng sao kê từ một đối tượng gốc, kiểm tra sự hiện diện của một bảng sao kê so với một đối tượng chính cụ thể và nếu có, có thể thực hiện thao tác đã chỉ định. Hãy xem câu lệnh trong tài liệu để biết thêm thông tin.

Ví dụ về cách sử dụng nhanh

Dưới đây là một ví dụ rất đơn giản về cách trang web www.example.com có thể sử dụng Đường liên kết đến tài sản kỹ thuật số để chỉ định rằng mọi đường liên kết đến URL thuộc trang web đó sẽ mở trong một ứng dụng được chỉ định thay vì trình duyệt:

  1. Trang web www.example.com xuất bản một danh sách báo cáo tại https://www.example.com/.well-known/assetlinks.json. Đây là tên và vị trí chính thức cho danh sách câu lệnh trên một trang web; danh sách câu lệnh ở bất kỳ vị trí nào khác hoặc với bất kỳ tên nào khác đều không hợp lệ đối với trang web này. Trong ví dụ này, danh sách câu lệnh bao gồm một câu lệnh, cấp cho ứng dụng Android quyền mở đường liên kết trên trang web của ứng dụng:
    [{
      "relation": ["delegate_permission/common.handle_all_urls"],
      "target" : { "namespace": "android_app", "package_name": "com.example.app",
                   "sha256_cert_fingerprints": ["hash_of_app_certificate"] }
    }]
    Danh sách câu lệnh hỗ trợ một loạt câu lệnh trong dấu [ ], nhưng tệp ví dụ chỉ chứa một câu lệnh. sha256_cert_fingerprints là vân tay số SHA256 của chứng chỉ ký của ứng dụng. Tìm hiểu thêm thông tin chi tiết trong tài liệu về Đường liên kết trong ứng dụng Android.
  2. Ứng dụng Android nêu trong câu trên có một bộ lọc ý định chỉ định lược đồ, máy chủ lưu trữ và mẫu đường dẫn của các URL mà ứng dụng muốn xử lý: trong trường hợp này là https://www.example.com. Bộ lọc ý định bao gồm một thuộc tính đặc biệt android:autoVerify mới có trong Android M, cho biết rằng Android cần xác minh câu lệnh trên trang web đã mô tả trong bộ lọc ý định khi ứng dụng được cài đặt.
  3. Một người dùng cài đặt ứng dụng. Android sẽ thấy bộ lọc ý định có thuộc tính autoVerify và kiểm tra sự hiện diện của danh sách câu lệnh tại trang web được chỉ định. Nếu có, Android sẽ kiểm tra xem tệp đó có chứa câu lệnh nào cho phép xử lý đường liên kết đến ứng dụng hay không và xác minh ứng dụng dựa trên câu lệnh bằng hàm băm chứng chỉ. Nếu mọi thứ đã được kiểm tra, thì Android sẽ chuyển tiếp mọi ý định https://www.example.com đến ứng dụng example.com.
  4. Người dùng nhấp vào một đường liên kết đến https://www.example.com/puppies trên thiết bị của họ. Liên kết này có thể ở bất kỳ nơi nào: trong trình duyệt, trong đề xuất của Công cụ tìm kiếm Google hoặc bất kỳ nơi nào khác. Android chuyển tiếp ý định đến ứng dụng example.com.
  5. Ứng dụng example.com nhận được ý định và chọn xử lý ý định đó, bằng cách mở trang về chú chó trong ứng dụng. Nếu vì lý do nào đó mà ứng dụng từ chối xử lý đường liên kết hoặc nếu ứng dụng không có trên thiết bị, thì đường liên kết sẽ được gửi đến trình xử lý ý định mặc định tiếp theo khớp với mẫu ý định đó (thường là trình duyệt).

Những điểm quan trọng cần cân nhắc và giới hạn:

  • Giao thức không xác thực đối tượng chính đưa ra tuyên bố, nhưng tuyên bố được đặt ở một vị trí cụ thể liên kết chặt chẽ với đối tượng chính và thuộc quyền kiểm soát của đối tượng chính.
  • Giao thức không xác thực mục tiêu câu lệnh nhưng cung cấp phương thức để phương thức gọi xác thực mục tiêu (ví dụ: câu lệnh xác định mục tiêu ứng dụng di động bằng hàm băm chứng chỉ và tên gói).
  • Giao thức vốn không thực hiện bất kỳ thao tác nào đối với câu lệnh; thay vào đó, giao thức này cho phép hiển thị các câu lệnh mà ứng dụng sử dụng phải xác thực rồi quyết định xem có nên thực hiện hành động hay không cũng như cách thức xử lý. Android M vốn thực hiện các bước này cho bạn. Ví dụ: nếu trang web uỷ quyền việc xử lý đường liên kết cho một ứng dụng cụ thể, thì Android sẽ kiểm tra và xác minh tuyên bố, xác minh ứng dụng đích, sau đó cho phép ứng dụng xử lý đường liên kết đã cho.
  • Giao thức không cho phép đưa ra tuyên bố về hai bên thứ ba: tức là trang web A có thể đưa ra tuyên bố về trang web B, nhưng trang web A không được đưa ra tuyên bố về mối quan hệ của trang web B với trang web C. Tuy nhiên, nếu trang web B tin tưởng trang web A, thì trang web A có thể kiểm tra trang web A để tìm một tuyên bố cấp quyền cho trang web C và quyết định triển khai trang web đó.

Các bước tiếp theo

  1. Xem có tài liệu rõ ràng cho trường hợp sử dụng của bạn hay không.
  2. Tìm hiểu về cách tạo bảng sao kê.