Ví dụ: Chia sẻ thông tin đăng nhập trên nhiều trang web và nhiều ứng dụng Android

Để thiết lập tính năng chia sẻ thông tin xác thực trên nhiều trang web và nhiều ứng dụng Android, bạn phải:

  • Chỉ định miền chính: Chọn một URL làm điểm tham chiếu chính cho các đường liên kết.
  • Tạo tệp assetlinks.json:
    • Miền chính: Tạo tệp assetlinks.json trên miền chính của bạn để liệt kê tất cả các miền có chung thông tin xác thực.
    • Các miền khác: Tạo một tệp assetlinks.json trên mỗi miền khác, mỗi tệp liên kết lại với miền chính.
  • Định cấu hình tính năng liên kết tài sản kỹ thuật số trong tệp kê khai của mỗi ứng dụng: Thiết lập mỗi ứng dụng để liên kết lại với tệp assetlinks.json trong miền chính.

Trong ví dụ sau, chúng tôi chỉ định example.com làm miền chính và tất cả các miền khác được liệt kê đều chia sẻ thông tin xác thực với example.com và với nhau.

Hai ứng dụng có tên gói sau đây cũng dùng chung thông tin xác thực với tất cả trang web và giữa các ứng dụng với nhau:

  • com.example.android.myapplication
  • com.example.appname

Trước khi thiết lập tính năng chia sẻ thông tin xác thực, bạn phải hoàn tất các điều kiện tiên quyết.

Cách khai báo tính năng chia sẻ thông tin xác thực trên các trang web và ứng dụng Android này:

  1. Tạo tệp assetlinks.json có nội dung sau:

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.com"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.org"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.net"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://myownpersonaldomain.com"
        }
      },
      {
        "relation" : [
          "delegate_permission/common.get_login_creds"
        ],
        "target" : {
          "namespace" : "android_app",
          "package_name" : "com.example.android.myapplication",
          "sha256_cert_fingerprints" : [ "AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00:AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00"
          ]
        }
      },
      {
        "relation" : [
          "delegate_permission/common.get_login_creds"
        ],
        "target" : {
          "namespace" : "android_app",
          "package_name" : "com.example.appname",
          "sha256_cert_fingerprints" : [ "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF"
          ]
        }
      }
    ]
    
  2. Lưu trữ tệp JSON chứa Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số) ở vị trí phổ biến tương ứng trên miền chính, trong trường hợp này là: https://example.com/.well-known/assetlinks.json.

  3. Tạo một tệp assetlinks.json khác có nội dung sau:

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "example.com"
        }
      }
    ]
    
  4. Lưu trữ các bản sao của tệp JSON chứa Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số) này tại vị trí sau trên các miền khác, trong trường hợp này:

    • example.org/.well-known/assetlinks.json
    • example.net/.well-known/assetlinks.json
    • mypersonaldomain.com/.well-known/assetlinks.json
  5. Thêm dòng sau vào cả hai tệp kê khai Ứng dụng Android trong <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  6. Định cấu hình tính năng liên kết tài sản kỹ thuật số trong tệp kê khai bằng cách khai báo mối liên kết trong ứng dụng Android. Thêm một đối tượng chỉ định các tệp assetlinks.json cần tải. Trong trường hợp này:

    <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://example.com/.well-known/assetlinks.json\"
    }]
    </string>
    

Sau khi làm theo các bước này, bạn đã thiết lập thành công tính năng chia sẻ thông tin đăng nhập liền mạch trên nhiều trang web và ứng dụng Android.