Jika masuk dengan Satu Ketuk memenuhi kebutuhan Anda, pertimbangkan untuk menggunakannya. One Tap memiliki pengalaman pengguna yang diperbarui dan peningkatan lainnya.

Aktifkan masuk otomatis di seluruh aplikasi dan situs web

Jika aplikasi Anda yang menggunakan Smart Lock untuk Sandi membagikan database pengguna dengan situs Anda — atau jika aplikasi dan situs Anda menggunakan penyedia login federasi seperti Google Sign-In — Anda dapat mengaitkan aplikasi dengan situs tersebut sehingga pengguna menyimpan kredensial mereka sekali dan kemudian secara otomatis masuk ke aplikasi dan situs web.

Untuk mengaitkan aplikasi dengan situs web, deklarasikan pengaitan dengan menghosting file JSON Digital Asset Links di situs Anda, dan menambahkan link ke file Digital Asset Link ke manifes aplikasi Anda.

Dengan menghosting deklarasi Digital Asset Links di situs Anda, Anda juga memungkinkan situs Anda untuk membagikan data IsiOtomatis dengan aplikasi Anda saat berjalan di Android 8.0 dan yang lebih baru.

Prasyarat

Domain masuk situs web Anda harus tersedia melalui HTTPS.

Kaitkan aplikasi Anda dengan situs web Anda

  1. Buat file JSON Digital Asset Links .

    Misalnya, untuk menyatakan bahwa situs web https://signin.example.com dan aplikasi Android dengan nama paket com.example dapat membagikan kredensial masuk, buat file bernama assetlinks.json dengan konten berikut:

    [{
      "relation": ["delegate_permission/common.get_login_creds"],
      "target": {
        "namespace": "web",
        "site": "https://signin.example.com"
      }
     },
     {
      "relation": ["delegate_permission/common.get_login_creds"],
      "target": {
        "namespace": "android_app",
        "package_name": "com.example",
        "sha256_cert_fingerprints": [
          "F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
        ]
      }
     }]
    

    Bidang relation adalah larik dari satu atau beberapa string yang mendeskripsikan hubungan yang sedang dideklarasikan. Untuk menyatakan bahwa aplikasi dan situs berbagi kredensial masuk, tentukan string delegate_permission/common.get_login_creds .

    Bidang target adalah objek yang menentukan aset tempat deklarasi berlaku. Bidang berikut mengidentifikasi situs web:

    namespace web
    site

    URL situs web, dalam format https:// domain [: optional_port ] ; misalnya, https://www.example.com .

    domain harus sepenuhnya memenuhi syarat., Dan optional_port harus dihilangkan saat menggunakan port 443 untuk HTTPS.

    Target site hanya dapat berupa domain root: Anda tidak dapat membatasi asosiasi aplikasi ke subdirektori tertentu. Jangan menyertakan jalur di URL, seperti garis miring.

    Subdomain tidak dianggap cocok: yaitu, jika Anda menentukan domain sebagai www.example.com , domain www.counter.example.com tidak dikaitkan dengan aplikasi Anda.

    Kolom berikut mengidentifikasi aplikasi Android:

    namespace android_app
    package_name Nama paket dideklarasikan dalam manifes aplikasi. Misalnya, com.example.android
    sha256_cert_fingerprints Sidik jari SHA256 dari sertifikat penandatanganan aplikasi Anda. Anda dapat menggunakan perintah berikut untuk membuat sidik jari:
    $ keytool -list -v -keystore my-release-key.keystore

    Lihat referensi Digital Asset Links untuk detailnya.

  2. Host file JSON Digital Assets Link di lokasi berikut pada domain login:

    https://domain[:optional_port]/.well-known/assetlinks.json

    Misalnya, jika domain masuk Anda adalah signin.example.com , host file JSON di https://signin.example.com/.well-known/assetlinks.json .

    Jenis MIME untuk file Digital Assets Link harus JSON. Pastikan server mengirimkan header Content-Type: application/json dalam responsnya.

  3. Pastikan host Anda mengizinkan Google untuk mengambil file Digital Asset Link Anda. Jika Anda memiliki file robots.txt , file tersebut harus mengizinkan agen Googlebot untuk mengambil /.well-known/assetlinks.json . Sebagian besar situs dapat dengan mudah mengizinkan agen otomatis mengambil file di jalur /.well-known/ sehingga layanan lain dapat mengakses metadata di file tersebut:

    User-agent: *
    Allow: /.well-known/
    

  4. Deklarasikan pengaitan di aplikasi Android.

    1. Tambahkan baris berikut ke file manifes di bawah <application> :

        <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
      
    2. Tambahkan sumber daya string asset_statements ke file strings.xml . String asset_statements adalah objek JSON yang menentukan file assetlinks.json akan dimuat. Anda harus mengosongkan apostrof dan tanda kutip yang Anda gunakan dalam string. Sebagai contoh:

        <string name="asset_statements" translatable="false">
        [{
          \"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
        }]
        </string>
      
        > GET /.well-known/assetlinks.json HTTP/1.1
        > User-Agent: curl/7.35.0
        > Host: signin.example.com
      
        < HTTP/1.1 200 OK
        < Content-Type: application/json
      
  5. Publikasikan aplikasi ke Google Play Store. Itu perlu dirilis di saluran publik agar asosiasi bisa diambil.

  6. (Opsional) Lengkapi dan kirimkan formulir afiliasi Smart Lock untuk Kata Sandi untuk menunjukkan bahwa Anda telah melalui proses tersebut. Google secara berkala memeriksa apakah afiliasi yang dikirimkan melalui formulir benar-benar berfungsi dan mungkin menghubungi Anda jika ada masalah.

Saat verifikasi selesai, pengguna aplikasi Anda dapat menyimpan kredensial mereka di aplikasi atau situs web Anda dan secara otomatis masuk ke keduanya.

Contoh: Mengaitkan beberapa aplikasi dengan sebuah situs web

Anda dapat mengaitkan beberapa aplikasi dengan sebuah situs web dengan menentukan setiap aplikasi di file Digital Assets Link. Misalnya, untuk mengaitkan aplikasi com.example dan com.example.pro dengan situs di https://signin.example.com/ , tentukan kedua aplikasi dalam file JSON yang dihosting di https://signin.example.com/.well-known/assetlinks.json :

[{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "web",
    "site": "https://signin.example.com"
  }
},{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example",
    "sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
    ]
  }
},{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.pro",
    "sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
    ]
  }
}]

Kemudian, deklarasikan pengaitan di kedua aplikasi:

  1. Tambahkan baris berikut ke file manifes di bawah <application> :

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. Tambahkan sumber daya string berikut ke file strings.xml :

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

Contoh: Mengaitkan aplikasi dengan banyak situs web

Anda dapat mengaitkan aplikasi dengan beberapa situs web dengan menentukan setiap situs web di file Tautan Aset Digital dan menghosting file di setiap situs web. Misalnya, untuk mengaitkan aplikasi com.example dan com.example.pro dengan situs di https://signin.example.com/ dan https://m.example.com/ , tentukan aplikasi dan kedua situs di File JSON dihosting di https://signin.example.com/.well-known/assetlinks.json :

[{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "web",
    "site": "https://signin.example.com"
  }
},{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "web",
    "site": "https://m.example.com"
  },
},{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example",
    "sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
    ]
  }
},{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.pro",
    "sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
    ]
  }
}]

Kemudian, di file JSON yang dihosting di https://m.example.com/.well-known/assetlinks.json , sertakan file Digital Asset Links utama:

[{
  "include": "https://signin.example.com/.well-known/assetlinks.json"
}]

Terakhir, nyatakan pengaitan di kedua aplikasi:

  1. Tambahkan baris berikut ke file manifes di bawah <application> :

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. Tambahkan sumber daya string berikut ke file strings.xml :

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