Para configurar el uso compartido de credenciales en varios sitios web y varias apps para Android, debes hacer lo siguiente:
- Designa un dominio principal: Elige una URL como el punto de referencia principal para los vínculos.
- Crear archivos
assetlinks.json
:- Dominio principal: Crea un archivo
assetlinks.json
en tu dominio principal que enumere todos los dominios que comparten credenciales. - Otros dominios: Crea un archivo
assetlinks.json
en cada uno de los otros dominios, cada uno de los cuales se vincula al dominio principal.
- Dominio principal: Crea un archivo
- Configura la vinculación de recursos digitales en el manifiesto de cada app: Configura cada app para que se vincule al archivo
assetlinks.json
en el dominio principal.
En el siguiente ejemplo, designamos example.com como el dominio principal, y todos los demás dominios enumerados comparten credenciales con example.com y entre sí.
- example.com (dominio principal)
- ejemplo.org
- example.net
- myownpersonaldomain.com
Las dos apps con los siguientes nombres de paquete también comparten credenciales con todos los sitios web y entre ellas:
com.example.android.myapplication
com.example.appname
Antes de configurar el uso compartido de credenciales, debes completar los requisitos previos.
Para declarar el uso compartido de credenciales en estos sitios web y apps para Android, sigue estos pasos:
Crea un archivo
assetlinks.json
con el siguiente contenido:[ { "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" ] } } ]
Aloja el archivo JSON de Vínculos de recursos digitales en la ubicación conocida correspondiente del dominio principal, en este caso:
https://example.com/.well-known/assetlinks.json
.Crea otro archivo
assetlinks.json
con el siguiente contenido:[ { "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "web", "site": "example.com" } } ]
Aloja copias de este archivo JSON de Vínculos de recursos digitales en la siguiente ubicación en los otros dominios, en este caso:
example.org/.well-known/assetlinks.json
example.net/.well-known/assetlinks.json
mypersonaldomain.com/.well-known/assetlinks.json
Agrega la siguiente línea a ambos archivos de manifiesto de apps para Android en
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Para configurar la vinculación de recursos digitales en el manifiesto, declara la asociación en la app para Android. Agrega un objeto que especifique los archivos
assetlinks.json
que se cargarán. En este caso, ocurre lo siguiente:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://example.com/.well-known/assetlinks.json\" }] </string>
Después de seguir estos pasos, habrás configurado correctamente el uso compartido de credenciales sin problemas en varios sitios web y apps para Android.