Tek Dokunuşla oturum açma ihtiyaçlarınızı karşılıyorsa, bunun yerine kullanmayı düşünün. One Tap, güncellenmiş bir kullanıcı deneyimine ve diğer iyileştirmelere sahiptir.

Uygulamalar ve web siteleri arasında otomatik oturum açmayı etkinleştirin

Parolalar için Smart Lock kullanan uygulamanız web sitenizle bir kullanıcı veritabanı paylaşıyorsa veya uygulamanız ve web siteniz Google ile Oturum Açma gibi birleşik oturum açma sağlayıcıları kullanıyorsa, kullanıcıların kimlik bilgilerini kaydetmeleri için uygulamayı web sitesiyle ilişkilendirebilirsiniz. hem uygulamada hem de web sitesinde bir kez ve ardından otomatik olarak oturum açın.

Bir uygulamayı bir web sitesiyle ilişkilendirmek için, web sitenizde bir Digital Asset Links JSON dosyası barındırarak ve uygulamanızın manifestine Digital Asset Link dosyasına bir bağlantı ekleyerek ilişkilendirmeleri bildirin.

Web sitenizde bir Dijital Varlık Bağlantıları beyanı barındırarak, web sitenizin Android 8.0 ve daha yeni sürümlerde çalışırken uygulamanızla otomatik doldurma verilerini paylaşmasını da sağlarsınız .

Önkoşullar

Web sitenizin oturum açma alanı HTTPS aracılığıyla kullanılabilmelidir.

Uygulamanızı web sitenizle ilişkilendirin

  1. Bir Dijital Varlık Bağlantıları JSON dosyası oluşturun.

    Örneğin, https://signin.example.com web sitesinin ve com.example paket adlı bir Android uygulamasının oturum açma kimlik bilgilerini paylaşabileceğini assetlinks.json etmek için, aşağıdaki içeriğe sahip assetlinks.json adlı bir dosya oluşturun:

    [{
      "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 alanı, bildirilen ilişkiyi tanımlayan bir veya daha fazla dizeden oluşan bir dizidir. Uygulamaların ve sitelerin oturum açma kimlik bilgilerini paylaştığını bildirmek için delegate_permission/common.get_login_creds dizesini belirtin.

    target alan, bildirimin geçerli olduğu varlığı belirten bir nesnedir. Aşağıdaki alanlar bir web sitesini tanımlar:

    namespace web
    site

    Web sitesinin URL'si, https:// domain [: optional_port ] biçiminde; örneğin, https://www.example.com .

    Etki domain tam nitelikli olmalı ve HTTPS için 443 numaralı bağlantı noktası kullanılırken optional_port bağlı_ bağlantı noktası atlanmalıdır.

    Bir site hedefi yalnızca bir kök etki alanı olabilir: Bir uygulama ilişkisini belirli bir alt dizinle sınırlayamazsınız. URL'ye eğik çizgi gibi bir yol eklemeyin.

    Alt alan adlarının eşleştiği kabul edilmez: Yani, domain www.example.com olarak belirtirseniz, www.counter.example.com alanı uygulamanızla ilişkilendirilmez.

    Aşağıdaki alanlar bir Android uygulamasını tanımlar:

    namespace android_app
    package_name Uygulamanın bildiriminde belirtilen paket adı. Örneğin, com.example.android
    sha256_cert_fingerprints Uygulamanızın imzalama sertifikasının SHA256 parmak izleri. Parmak izini oluşturmak için şu komutu kullanabilirsiniz:
    $ keytool -list -v -keystore my-release-key.keystore

    Ayrıntılar için Dijital Varlık Bağlantıları referansına bakın.

  2. Digital Assets Link JSON dosyasını oturum açma etki alanında şu konumda barındırın:

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

    Örneğin, oturum açma alanınız signin.example.com ise JSON dosyasını https://signin.example.com/.well-known/assetlinks.json .

    Digital Assets Link dosyası için MIME türünün JSON olması gerekir. Sunucunun yanıtta bir Content-Type: application/json başlığı gönderdiğinden emin olun.

  3. Barındırıcınızın Google'ın Dijital Varlık Bağlantısı dosyanızı almasına izin verdiğinden emin olun. Bir robots.txt dosyanız varsa, Googlebot aracısının /.well-known/assetlinks.json almasına izin vermesi gerekir. Çoğu site, herhangi bir otomatik aracının /.well-known/ yolundaki dosyaları almasına izin verebilir, böylece diğer hizmetler bu dosyalardaki meta verilere erişebilir:

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

  4. Android uygulamasında ilişkilendirmeyi bildirin.

    1. <application> altındaki manifest dosyasına aşağıdaki satırı ekleyin:

        <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
      
    2. Bir ekleme asset_statements dize kaynağı strings.xml dosyası. asset_statements dizesi, yüklenecek assetlinks.json dosyalarını belirten bir JSON nesnesidir. Dizede kullandığınız kesme ve tırnak işaretlerinden kaçınmalısınız. Örneğin:

        <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. Uygulamayı Google Play Store'da yayınlayın. Derneklerin toplanması için kamuya açık kanalda yayınlanması gerekiyor.

  6. (İsteğe bağlı) İşlemden geçtiğinizi belirtmek için Smart Lock for Password üyelik formunu doldurun ve gönderin. Google, form aracılığıyla gönderilen bağlı kuruluşların gerçekten çalışıp çalışmadığını düzenli olarak kontrol eder ve sorun olması durumunda sizinle iletişime geçebilir.

Doğrulama tamamlandığında, uygulamanızın kullanıcıları kimlik bilgilerini uygulamanıza veya web sitenize kaydedebilir ve her ikisinde de otomatik olarak oturum açabilir.

Örnek: Birden çok uygulamayı bir web sitesiyle ilişkilendirme

Digital Assets Link dosyasında her bir uygulamayı belirterek birden fazla uygulamayı bir web sitesiyle ilişkilendirebilirsiniz. Örneğin, ilişkilendirmek com.example ve com.example.pro de site ile uygulamalar https://signin.example.com/ barındırılan JSON dosyasındaki her iki uygulamanın da belirtin 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"
    ]
  }
}]

Ardından, her iki uygulamada da ilişkilendirmeyi bildirin:

  1. <application> altındaki manifest dosyasına aşağıdaki satırı ekleyin:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. Aşağıdaki dize kaynağını strings.xml dosyasına ekleyin:

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

Örnek: Uygulamaları birden çok web sitesiyle ilişkilendirme

Dijital Varlıklar Bağlantısı dosyasında her bir web sitesini belirterek ve dosyayı her web sitesinde barındırarak uygulamaları birden çok web sitesiyle ilişkilendirebilirsiniz. Örneğin, com.example ve com.example.pro uygulamalarını https://signin.example.com/ ve https://m.example.com/ com.example.pro siteyle ilişkilendirmek için, https://signin.example.com/.well-known/assetlinks.json barındırılan JSON dosyası:

[{
  "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"
    ]
  }
}]

Ardından, https://m.example.com/.well-known/assetlinks.json barındırılan JSON dosyasına birincil Dijital Varlık Bağlantıları dosyasını ekleyin:

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

Son olarak, her iki uygulamada da ilişkilendirmeyi bildirin:

  1. <application> altındaki bildirim dosyasına aşağıdaki satırı ekleyin:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. Aşağıdaki dize kaynağını strings.xml dosyasına ekleyin:

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