Automatische Anmeldung in Apps und auf Websites aktivieren

<ph type="x-smartling-placeholder">

Wenn Ihre App, die Smart Lock für Passwörter verwendet, eine Nutzerdatenbank mit Ihrem oder wenn Sie für Ihre App und Website föderierte Anmeldeanbieter wie Google Log-in verwenden, können Sie die App mit der Website verknüpfen, speichern Nutzer ihre Anmeldedaten einmal und melden sich dann automatisch sowohl auf dem Website und App.

Um eine App mit einer Website zu verknüpfen, deklarieren Sie die Verknüpfungen, indem Sie ein Digital Asset Links-JSON-Datei auf Ihrer Website und Sie fügen dem Manifest Ihrer App einen Link zur Digital Asset Link-Datei hinzu.

Wenn Sie auf Ihrer Website eine Erklärung zu Digital Asset Links hosten, ermöglichen Sie Ihre Website, um Autofill zu teilen. Daten mit der App hochladen, wenn sie unter Android 8.0 und höher ausgeführt wird.

Vorbereitung

Die Anmeldedomain Ihrer Website muss über HTTPS verfügbar sein.

App mit Ihrer Website verknüpfen

  1. Erstellen Sie eine Digital Asset Links-JSON-Datei.

    Um beispielsweise zu deklarieren, dass die Website https://signin.example.com und Eine Android-App mit dem Paketnamen „com.example“ kann die Anmeldedaten gemeinsam nutzen Anmeldedaten erstellen, erstellen Sie eine Datei mit dem Namen assetlinks.json und 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 Feld relation ist ein Array mit einem oder mehreren Strings, die den Parameter Beziehung, die angegeben wird. Um zu deklarieren, dass die Anmeldedaten für Apps und Websites gemeinsam genutzt werden Anmeldedaten, geben Sie den String an delegate_permission/common.get_login_creds

    Das Feld target ist ein Objekt, das den Inhalt angibt, den die Deklaration enthalten soll gilt. Die folgenden Felder identifizieren eine Website:

    namespace web
    site

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

    domain muss voll qualifiziert sein. optional_port muss weggelassen werden, wenn Port 443 für HTTPS

    Ein site-Ziel kann nur eine Stammdomain sein: Sie können keine App-Verknüpfung auf ein bestimmtes Unterverzeichnis beschränken. Fügen Sie kein Pfad in der URL, zum Beispiel ein abschließender Schrägstrich.

    Subdomains werden nicht als übereinstimmend angesehen, d. h., wenn Sie die domain als www.example.com, die Domain www.counter.example.com ist nicht mit deiner App verknüpft.

    Die folgenden Felder identifizieren eine Android-App:

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

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

  2. Hosten Sie die Digital Assets Link-JSON-Datei am folgenden Speicherort auf der angemeldete Domain:

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

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

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

  3. Der Host muss Google erlauben, deinen Digital Asset Link abzurufen -Datei. Wenn du eine robots.txt-Datei hast, muss der Googlebot-Agent diese /.well-known/assetlinks.json abrufen. Die meisten Websites können einfach beliebige automatischen Agenten, Dateien im Pfad /.well-known/ abzurufen, damit andere Dienste können auf die Metadaten in diesen Dateien zugreifen:

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

  4. Deklariere die Verknüpfung 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 der Datei strings.xml eine Stringressource asset_statements hinzu. Der String asset_statements ist ein JSON-Objekt, das die assetlinks.json Dateien zum Laden. Du musst allen Apostrophe entkommen und Anführungszeichen, die Sie in der Zeichenfolge verwenden. Beispiel:

        <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. Sie muss veröffentlicht werden. Kanal für Vereine zum Abholen.

  6. Optional: Füllen Sie das Formular aus und senden Sie es ab. <ph type="x-smartling-placeholder"></ph> Verknüpfungsformular für Smart Lock für Passwörter, um anzugeben, dass Sie während des gesamten Prozesses. Google prüft regelmäßig, ob Zugehörigkeiten die über das Formular gesendet wurden, funktionieren und sich möglicherweise bei Ihnen melden, Probleme.

Wenn die Bestätigung abgeschlossen ist, können Nutzer Ihrer App ihre Anmeldedaten hier speichern: Ihrer App oder Website und werden automatisch in beiden angemeldet.

Beispiel: Mehrere Apps mit einer Website verknüpfen

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

Deklariere dann die Verknüpfung 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 der Datei strings.xml die folgende Stringressource hinzu:

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

Beispiel: Apps mit mehreren Websites verknüpfen

Sie können Apps mit mehreren Websites verknüpfen, indem Sie jede Website im Digital Assets Link-Datei und das Hosten der Datei auf den einzelnen Websites. Zum Beispiel Die Apps com.example und com.example.pro mit der Website unter verknüpfen https://signin.example.com/ und https://m.example.com/, bitte angeben sowohl Apps als auch beide Websites in der JSON-Datei 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 der JSON-Datei, https://m.example.com/.well-known/assetlinks.json, einschließlich der primären digitalen Datei mit Asset-Links:

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

Deklarieren Sie abschließend die Verknüpfung 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 der Datei strings.xml die folgende Stringressource hinzu:

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