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.com
und Eine Android-App mit dem Paketnamen „com.example
“ kann die Anmeldedaten gemeinsam nutzen Anmeldedaten erstellen, erstellen Sie eine Datei mit dem Namenassetlinks.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 andelegate_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 Domainwww.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. .
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 unterhttps://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.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/
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.xml
eine Stringressourceasset_statements
hinzu. Der Stringasset_statements
ist ein JSON-Objekt, das dieassetlinks.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
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.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:
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.xml
die folgende Stringressource hinzu:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://signin.example.com/.well-known/assetlinks.json\" }] </string>