Contoh: Membagikan kredensial ke beberapa situs dan beberapa aplikasi 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 link.
  • Membuat file assetlinks.json:
    • Domain primer: Buat file assetlinks.json di domain primer Anda yang mencantumkan semua domain yang berbagi kredensial.
    • Domain lain: Buat file assetlinks.json di setiap domain lain, yang masing-masing ditautkan kembali ke domain utama.
  • Mengonfigurasi penautan aset digital di setiap manifes Aplikasi: Siapkan setiap aplikasi untuk menautkan kembali ke file assetlinks.json di domain utama.

Dalam contoh berikut, kami menetapkan example.com sebagai domain utama, dan semua domain lainnya yang tercantum berbagi kredensial dengan example.com dan di antara domain tersebut.

Kedua aplikasi dengan nama paket berikut juga berbagi kredensial dengan semua situs dan di antara keduanya:

  • 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 lokasi umum yang sesuai di domain utama, 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 Aplikasi Android di bagian <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  6. Konfigurasikan penautan aset digital dalam manifes dengan mendeklarasikan pengaitan di aplikasi Android. Tambahkan objek yang menentukan file assetlinks.json untuk 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 telah berhasil menyiapkan berbagi kredensial yang lancar di beberapa situs dan aplikasi Android.