Bắt đầu

Tổng quan

Giao thức và API Đường liên kết đến tài sản kỹ thuật số cho phép một ứng dụng hoặc trang web đặt các câu lệnh công khai và 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 nó được liên kết với một ứng dụng Android cụ thể hoặc có thể khai báo rằng nó muốn chia sẻ thông tin xác thực của người dùng với một trang web khác.

Sau đâ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 đườ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 họ có thể chia sẻ thông tin đăng nhập của người dùng Chrome với trang web B để người dùng không phải đăng nhập vào trang web B nếu họ đă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ẻ các 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

  • Hiệu trưởng: 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ố), cột chính luôn là ứng dụng hoặc trang web lưu trữ danh sách câu lệnh.
  • Danh sách câu lệnh: Câu lệnh nằm trong một danh sách câu lệnh có 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í được người dùng chính kiểm soát và khó giả mạo hoặc can thiệp. Tệp này có thể là tệp đứng hoặc một phần của mục khác có kích thước lớn hơn. Ví dụ: trên một trang web, đó là toàn bộ một tệp; 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 bảng sao kê bằng các 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.
  • Tuyên bố: Câu lệnh là cấu trúc JSON có cấu trúc chặt chẽ bao gồm mối quan hệ (những gì câu lệnh cho biết, ví dụ: Bật thông tin xác thực chia sẻ) và một mục tiêu (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 đó chính có nghĩa là mối quan hệ về mục tiêu.
  • Người tiêu dùng phát biểu: Người tiêu dùng có thể yêu cầu danh sách câu lệnh từ người dùng chính, kiểm tra sự hiện diện của câu lệnh đối với người dùng chính và nếu có, có thể thực hiện hành động được chỉ định. Xem tài liệu về thành phần soạn thảo để biết thêm thông tin.

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

Sau đâ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 các URL trên trang web đó phải mở trong ứng dụng được chỉ định chứ không phải trình duyệt:

  1. Trang web www.example.com công bố danh sách tuyên bố tại https://www.example.com/.well-known/assetlinks.json. Đây là tên và vị trí chính thức của danh sách câu lệnh trên trang web; danh sách câu lệnh ở bất kỳ vị trí nào khác hoặc tên nào khác không hợp lệ đối với trang web này. Trong ví dụ của chúng tôi, 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ở các liên kết trên trang web của nó:
    [{
      "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ác câu lệnh trong dấu [], nhưng tệp ví dụ của chúng tôi chỉ chứa một câu lệnh. sha256_cert_fingerprints là vân tay SHA256 của chứng chỉ ký ứng dụng của bạn. 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 liệt kê trong câu lệnh trên có một bộ lọc ý định chỉ định giao thức, máy chủ và mẫu đường dẫn của 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 xuất hiện trong Android M, cho biết Android phải xác minh câu lệnh trên trang web được mô tả trong bộ lọc ý định khi ứng dụng được cài đặt.
  3. 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 trên trang web được chỉ định. Nếu có, Android sẽ kiểm tra xem tệp đó có chứa câu lệnh cấp quyền xử lý đường liên kết cho ứ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ứ kiểm tra, Android sẽ chuyển tiếp mọi ý định https://www.example.com sang ứ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 cứ đâu: 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 đó, mở trang cún con 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 và hạn chế quan trọng:

  • Giao thức không xác thực mã chính tạo nên câu lệnh, nhưng câu lệnh nằm ở một vị trí cụ thể liên kết chặt chẽ với cột chính và chịu sự kiểm soát của hiệu suất chính.
  • Giao thức không xác thực mục tiêu của câu lệnh, nhưng cung cấp một phương tiện để người gọi xác thực mục tiêu (ví dụ: câu lệnh sẽ xác định mục tiêu ứng dụng dành cho thiết bị di động bằng hàm băm chứng chỉ và tên gói).
  • Giao thức này thực chất không thực hiện bất kỳ thao tác câu lệnh nào; thay vào đó, giao thức này sẽ cho phép hiển thị các câu lệnh, là một ứng dụng tiêu thụ phải xác thực, sau đó quyết định có hành động hay không và xử lý như thế nào. Android M vốn thực hiện các bước này cho bạn. Ví dụ: nếu một trang web uỷ quyền xử lý đường liên kết đến một ứng dụng cụ thể, thì Android sẽ kiểm tra và xác minh câu lệnh, xác minh ứng dụng mục tiêu, rồi cung cấp cho ứng dụng tuỳ chọn xử lý đường liên kết đã cho.
  • Giao thức này không cho phép đưa ra tuyên bố về hai bên thứ ba: nghĩa là trang web A có thể đưa ra tuyên bố về trang web B, nhưng trang web A không thể đư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 để có 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 trường hợp sử dụng của bạn có tài liệu rõ ràng hay không.
  2. Tìm hiểu về cách tạo bảng sao kê.