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
Erstellen Sie eine Digital Asset Links-JSON-Datei.
Um beispielsweise zu deklarieren, dass die Website
https://signin.example.comund Eine Android-App mit dem Paketnamen „com.example“ kann die Anmeldedaten gemeinsam nutzen Anmeldedaten erstellen, erstellen Sie eine Datei mit dem Namenassetlinks.jsonund 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
relationist 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 andelegate_permission/common.get_login_credsDas Feld
targetist ein Objekt, das den Inhalt angibt, den die Deklaration enthalten soll gilt. Die folgenden Felder identifizieren eine Website:namespacewebsiteDie 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 Domainwww.counter.example.comist nicht mit deiner App verknüpft.Die folgenden Felder identifizieren eine Android-App:
namespaceandroid_apppackage_nameDer im Manifest der App deklarierte Paketname. Beispiel: com.example.androidsha256_cert_fingerprintsDie 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. .
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.comist, hosten Sie die JSON-Datei. Datei unterhttps://signin.example.com/.well-known/assetlinks.jsonDer 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.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.jsonabrufen. 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/
Deklariere die Verknüpfung in der Android-App.
Fügen Sie der Manifestdatei unter
<application>die folgende Zeile hinzu:<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />Fügen Sie der Datei
strings.xmleine Stringressourceasset_statementshinzu. Der Stringasset_statementsist ein JSON-Objekt, das dieassetlinks.jsonDateien 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
Veröffentlichen Sie die App im Google Play Store. Sie muss veröffentlicht werden. Kanal für Vereine zum Abholen.
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:
Fügen Sie der Manifestdatei unter
<application>die folgende Zeile hinzu:<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />Fügen Sie der Datei
strings.xmldie 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. Wenn Sie beispielsweise
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:
Fügen Sie der Manifestdatei unter
<application>die folgende Zeile hinzu:<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />Fügen Sie der Datei
strings.xmldie folgende Stringressource hinzu:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://signin.example.com/.well-known/assetlinks.json\" }] </string>