Contoh: Membagikan kredensial di beberapa situs dan beberapa perangkat Android

Untuk menyiapkan berbagi kredensial di beberapa situs dan beberapa aplikasi Android Anda harus:

  • Tetapkan domain primer: Pilih satu URL sebagai titik referensi utama untuk penautan.
  • Buat file assetlinks.json:
    • Domain primer: Buat file assetlinks.json di domain primer yang mencantumkan semua domain yang berbagi kredensial.
    • Domain lain: Buat file assetlinks.json di setiap domain lainnya domain, masing-masing menautkan kembali ke domain primer.
  • Mengonfigurasi penautan aset digital di setiap manifes Aplikasi: Siapkan setiap aplikasi untuk menautkan kembali ke file assetlinks.json di domain primer.

Dalam contoh berikut, kita menentukan example.com sebagai domain primer, dan semua domain yang tercantum berbagi kredensial dengan example.com dan lintasnya sendiri.

Kedua aplikasi dengan nama paket berikut juga berbagi kredensial dengan semua {i>website<i} dan di antaranya:

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

Sebelum menyiapkan berbagi kredensial, Anda harus menyelesaikan prasyarat.

Untuk mendeklarasikan berbagi kredensial di seluruh situs dan aplikasi Android ini:

  1. Buat file assetlinks.json dengan konten berikut:

    [
      {
        "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. Menghosting file JSON Digital Asset Links di file JSON berada di domain primer, dalam hal ini: https://example.com/.well-known/assetlinks.json.

  3. Buat file assetlinks.json lain dengan konten berikut:

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "example.com"
        }
      }
    ]
    
  4. Hosting salinan file JSON Digital Asset Links ini di lokasi berikut di domain lain, dalam hal ini:

    • example.org/.well-known/assetlinks.json
    • example.net/.well-known/assetlinks.json
    • mypersonaldomain.com/.well-known/assetlinks.json
  5. Tambahkan baris berikut ke kedua file manifes Android Apps di <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  6. Mengonfigurasi penautan aset digital dalam manifes dengan mendeklarasikan pengaitan di aplikasi Android. Tambahkan objek yang menentukan file assetlinks.json yang akan dimuat. Dalam hal ini:

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

Setelah mengikuti langkah-langkah ini, Anda berhasil menyiapkan kredensial yang lancar berbagi di beberapa situs web dan aplikasi Android.