Per configurare la condivisione delle credenziali su più siti web e più app per Android, devi:
- Specifica un dominio principale: scegli un URL come punto di riferimento principale per i link.
- Crea file
assetlinks.json
:- Dominio principale: crea un file
assetlinks.json
nel dominio principale che elenchi tutti i domini che condividono le credenziali. - Altri domini: crea un file
assetlinks.json
in ciascuno degli altri domini, ognuno dei quali rimanda al dominio principale.
- Dominio principale: crea un file
- Configura il collegamento degli asset digitali nel file manifest di ogni app: configura ogni app per
il collegamento al file
assetlinks.json
nel dominio principale.
Nell'esempio seguente, abbiamo indicato example.com come dominio principale e tutti gli altri domini elencati condividono le credenziali con example.com e tra se stessi.
- example.com (dominio principale)
- example.org
- example.net
- myownpersonaldomain.com
Le due app con i seguenti nomi di pacchetto condividono anche le credenziali con tutti i siti web e tra di loro:
com.example.android.myapplication
com.example.appname
Prima di configurare la condivisione delle credenziali, devi completare i prerequisiti.
Per dichiarare la condivisione delle credenziali tra questi siti web e queste app per Android:
Crea un file
assetlinks.json
con i seguenti contenuti:[ { "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "web", "site": "https://example.com" } }, { "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "web", "site": "https://example.org" } }, { "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "web", "site": "https://example.net" } }, { "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "web", "site": "https://myownpersonaldomain.com" } }, { "relation" : [ "delegate_permission/common.get_login_creds" ], "target" : { "namespace" : "android_app", "package_name" : "com.example.android.myapplication", "sha256_cert_fingerprints" : [ "AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00:AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00" ] } }, { "relation" : [ "delegate_permission/common.get_login_creds" ], "target" : { "namespace" : "android_app", "package_name" : "com.example.appname", "sha256_cert_fingerprints" : [ "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF" ] } } ]
Ospita il file JSON Digital Asset Links nella corrispondente posizione well-known sul dominio principale, in questo caso:
https://example.com/.well-known/assetlinks.json
.Crea un altro file
assetlinks.json
con i seguenti contenuti:[ { "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "web", "site": "example.com" } } ]
Ospita copie di questo file JSON Digital Asset Links nella seguente posizione sugli altri domini, in questo caso:
example.org/.well-known/assetlinks.json
example.net/.well-known/assetlinks.json
mypersonaldomain.com/.well-known/assetlinks.json
Aggiungi la seguente riga a entrambi i file manifest delle app per Android in
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Configura il collegamento degli asset digitali nel file manifest dichiarando l'associazione nell'app per Android. Aggiungi un oggetto che specifichi i file
assetlinks.json
da caricare. In questo caso:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://example.com/.well-known/assetlinks.json\" }] </string>
Dopo aver seguito questi passaggi, avrai configurato la condivisione senza problemi delle credenziali su più siti web e app per Android.