Para configurar o compartilhamento de credenciais em vários sites e apps Android, é necessário:
- Designar um domínio principal: escolha um URL como ponto de referência principal para links.
- Criar arquivos
assetlinks.json
:- Domínio principal: crie um arquivo
assetlinks.json
no domínio principal que liste todos os domínios que compartilham credenciais. - Outros domínios: crie um arquivo
assetlinks.json
em cada um dos outros domínios, cada um deles vinculado ao domínio principal.
- Domínio principal: crie um arquivo
- Configurar a vinculação de recursos digitais em cada manifesto do app: configure cada app para
vincular de volta ao arquivo
assetlinks.json
no domínio principal.
No exemplo a seguir, designamos example.com como o domínio principal, e todos os outros domínios listados compartilham credenciais com example.com e entre si.
- example.com (domínio principal)
- example.org
- example.net
- myownpersonaldomain.com
Os dois apps com os seguintes nomes de pacote também compartilham credenciais com todos os sites e entre eles:
com.example.android.myapplication
com.example.appname
Antes de configurar o compartilhamento de credenciais, conclua os pré-requisitos.
Para declarar o compartilhamento de credenciais entre esses sites e apps Android:
Crie um arquivo
assetlinks.json
com o seguinte conteúdo:[ { "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" ] } } ]
Hospede o arquivo JSON do Digital Asset Links no local bem conhecido correspondente no domínio principal, neste caso:
https://example.com/.well-known/assetlinks.json
.Crie outro arquivo
assetlinks.json
com o seguinte conteúdo:[ { "relation": ["delegate_permission/common.get_login_creds"], "target": { "namespace": "web", "site": "example.com" } } ]
Hospede cópias desse arquivo JSON do Digital Asset Links no seguinte local nos outros domínios, neste caso:
example.org/.well-known/assetlinks.json
example.net/.well-known/assetlinks.json
mypersonaldomain.com/.well-known/assetlinks.json
Adicione a linha abaixo aos dois arquivos de manifesto de apps Android em
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Configure a vinculação de recursos digitais no manifesto declarando a associação no app Android. Adicione um objeto que especifique os arquivos
assetlinks.json
a serem carregados. Nesse caso:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://example.com/.well-known/assetlinks.json\" }] </string>
Depois de seguir estas etapas, você terá configurado o compartilhamento de credenciais em vários sites e apps Android.