Wenn die One Tap-Anmeldung Ihren Anforderungen entspricht, sollten Sie sie stattdessen verwenden. One Tap bietet eine aktualisierte Benutzererfahrung und andere Verbesserungen.

Aktivieren Sie die automatische Anmeldung für Apps und Websites

Wenn Ihre App, die Smart Lock für Kennwörter verwendet, eine Benutzerdatenbank mit Ihrer Website teilt oder wenn Ihre App und Website Verbundanmeldeanbieter wie Google Sign-In verwenden, können Sie die App der Website zuordnen, damit Benutzer ihre Anmeldeinformationen speichern einmal und dann automatisch bei der App und der Website anmelden.

Um eine App mit einer Website zu verknüpfen, deklarieren Sie Zuordnungen, indem Sie eine JSON-Datei für Digital Asset Links auf Ihrer Website hosten und dem Manifest Ihrer App einen Link zur Digital Asset Link-Datei hinzufügen.

Durch das Hosten einer Digital Asset Links-Erklärung auf Ihrer Website können Sie Ihrer Website auch ermöglichen, automatisch ausgefüllte Daten mit Ihrer App zu teilen, wenn sie unter Android 8.0 oder höher ausgeführt wird .

Voraussetzungen

Die Anmeldedomäne Ihrer Website muss über HTTPS verfügbar sein.

Verknüpfen Sie Ihre App mit Ihrer Website

  1. Erstellen Sie eine JSON-Datei für Digital Asset Links .

    Um beispielsweise zu deklarieren, dass die Website https://signin.example.com und eine Android-App mit dem Paketnamen com.example Anmeldeinformationen gemeinsam nutzen können, erstellen Sie eine Datei mit dem Namen assetlinks.json mit folgendem Inhalt:

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

    Das relation ist ein Array aus einer oder mehreren Zeichenfolgen, die die deklarierte Beziehung beschreiben. delegate_permission/common.get_login_creds die Zeichenfolge delegate_permission/common.get_login_creds , um zu deklarieren, dass Apps und Websites Anmeldeinformationen gemeinsam delegate_permission/common.get_login_creds .

    Das target ist ein Objekt, das das Asset angibt, für das die Deklaration gilt. Die folgenden Felder kennzeichnen eine Website:

    namespace web
    site

    Die URL der Website im Format https:// domain [: optional_port ] ; Zum Beispiel https://www.example.com .

    Die domain muss vollständig qualifiziert sein, und optional_port muss weggelassen werden, wenn Port 443 für HTTPS verwendet wird.

    Ein site Ziel kann nur eine Stammdomäne sein: Sie können eine App-Zuordnung nicht auf ein bestimmtes Unterverzeichnis beschränken. Fügen Sie der URL keinen Pfad hinzu, z. B. einen abschließenden Schrägstrich.

    Subdomains stimmen nicht überein. Wenn Sie also die domain als www.example.com angeben, ist die Domain www.counter.example.com nicht mit Ihrer App verknüpft.

    Die folgenden Felder kennzeichnen eine Android-App:

    namespace android_app
    package_name Der im Manifest der App deklarierte Paketname. Zum Beispiel com.example.android
    sha256_cert_fingerprints Die SHA256-Fingerabdrücke des Signaturzertifikats Ihrer App. Mit dem folgenden Befehl können Sie den Fingerabdruck generieren:
    $ keytool -list -v -keystore my-release-key.keystore

    Weitere Informationen finden Sie in der Referenz zu Digital Asset Links .

  2. Hosten Sie die JSON-Datei für Digital Assets Link an folgendem Speicherort in der Anmeldedomäne:

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

    Wenn Ihre signin.example.com beispielsweise signin.example.com , hosten Sie die JSON-Datei unter https://signin.example.com/.well-known/assetlinks.json .

    Der MIME-Typ für die Digital Assets Link-Datei muss JSON sein. Stellen Sie sicher, dass der Server in der Antwort einen Content-Type: application/json Header sendet.

  3. Stellen Sie sicher, dass Ihr Host Google erlaubt, Ihre Digital Asset Link-Datei abzurufen. Wenn Sie über eine robots.txt Datei verfügen, muss der Googlebot-Agent /.well-known/assetlinks.json abrufen /.well-known/assetlinks.json . Die meisten Websites können einfach jedem automatisierten Agenten erlauben, Dateien im Pfad /.well-known/ damit andere Dienste auf die Metadaten in diesen Dateien zugreifen können:

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

  4. Deklarieren Sie die Zuordnung in der Android-App.

    1. Fügen Sie der Manifestdatei unter <application> die folgende Zeile hinzu:

        <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
      
    2. Fügen Sie eine asset_statements String - Ressource in die strings.xml Datei. Die Zeichenfolge asset_statements ist ein JSON-Objekt, das die zu assetlinks.json Dateien assetlinks.json angibt. Sie müssen alle Apostrophe und Anführungszeichen, die Sie in der Zeichenfolge verwenden, maskieren. Beispielsweise:

        <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. Veröffentlichen Sie die App im Google Play Store. Es muss im öffentlichen Kanal veröffentlicht werden, damit die Verbände abgeholt werden können.

  6. (Optional) Füllen Sie das Zugehörigkeitsformular für Smart Lock for Passwords aus und senden Sie es ab, um anzuzeigen, dass Sie den Vorgang durchlaufen haben. Google überprüft regelmäßig, ob über das Formular übermittelte Zugehörigkeiten tatsächlich funktionieren, und kann Sie bei Problemen kontaktieren.

Nach Abschluss der Überprüfung können Benutzer Ihrer App ihre Anmeldeinformationen entweder in Ihrer App oder auf Ihrer Website speichern und sich automatisch bei beiden anmelden.

Beispiel: Verknüpfen Sie mehrere Apps mit einer Website

Sie können einer Website mehrere Apps zuordnen, indem Sie jede App in der Digital Assets Link-Datei angeben. Um beispielsweise die Apps com.example und com.example.pro mit der Site unter https://signin.example.com/ zu verknüpfen, geben Sie beide Apps in der JSON-Datei an, die unter https://signin.example.com/.well-known/assetlinks.json gehostet wird. 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"
    ]
  }
}]

Deklarieren Sie dann die Zuordnung in beiden Apps:

  1. Fügen Sie der Manifestdatei unter <application> die folgende Zeile hinzu:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. Fügen Sie den folgenden String - Ressource in die strings.xml - Datei:

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

Beispiel: Verknüpfen Sie Apps mit mehreren Websites

Sie können Apps mehreren Websites zuordnen, indem Sie jede Website in der Digital Assets Link-Datei angeben und die Datei auf jeder Website hosten. Um beispielsweise die Apps com.example und com.example.pro mit der Site unter https://signin.example.com/ und https://m.example.com/ zu verknüpfen, geben Sie beide Apps und beide Sites in der an JSON-Datei, gehostet unter 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"
    ]
  }
}]

Fügen Sie dann in die JSON-Datei, die unter https://m.example.com/.well-known/assetlinks.json gehostet wird, die primäre Digital Asset Links-Datei hinzu:

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

Deklarieren Sie abschließend die Zuordnung in beiden Apps:

  1. Fügen Sie der Manifestdatei unter <application> die folgende Zeile hinzu:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. Fügen Sie den folgenden String - Ressource in die strings.xml - Datei:

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