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 đăng nhập trên nhiều trang web và nhiều ứng dụng Android bạn phải:

  • Chỉ định một miền chính: Chọn một URL làm điểm tham chiếu chính cho 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 đang dùng chung thông tin đăng nhập.
    • Các miền khác: Tạo tệp assetlinks.json trên từng miền khác mỗi miền lại liên kết ngược trở lại miền chính.
  • Định cấu hình việc liên kết tài sản kỹ thuật số trong tệp kê khai của từng Ứng dụng: Thiết lập để từng ứ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ác miền được liệt kê sẽ chia sẻ thông tin đăng nhập với example.com và trên chính trang đó.

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

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

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

Cách khai báo việc 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ố) trong các URL phổ biến tương ứng vị trí trên miền chính, trong trường hợp này: 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. Các bản sao lưu trữ 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 của Ứng dụng Android trong <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  6. Định cấu hình việc 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 để 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 thông tin đăng nhập liền mạch chia sẻ trên nhiều trang web và ứng dụng Android.