Configurar o compartilhamento de credenciais em vários sites e apps Android você precisa:
- Designar um domínio principal: escolha um URL como ponto de referência principal. para ver os links.
- Crie arquivos
assetlinks.json
:- Domínio principal: crie um arquivo
assetlinks.json
no seu domínio principal. que lista todos os domínios que compartilham credenciais. - Outros domínios: crie um arquivo
assetlinks.json
em cada um dos outros domínios. domínios, cada um vinculado ao domínio principal.
- Domínio principal: crie um arquivo
- Configurar a vinculação de ativos digitais no manifesto de cada app: configure cada app para
para o arquivo
assetlinks.json
no domínio principal.
No exemplo a seguir, designamos example.com como o domínio principal, e todos os outros os 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 nomes de pacotes a seguir também compartilham credenciais com todas as os sites e entre eles:
com.example.android.myapplication
com.example.appname
Antes de configurar o compartilhamento de credenciais, você precisa atender aos pré-requisitos.
Para declarar o compartilhamento de credenciais nesses 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 arquivo conhecido bem conhecido correspondente local 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 deste arquivo JSON do Digital Asset Links no seguinte local em 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 seguinte linha aos dois arquivos de manifesto de apps Android em
<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Configurar a vinculação de ativos digitais no manifesto declarando a associação no app Android. Adicione um objeto que especifique os arquivos
assetlinks.json
. para carregar. Nesse caso:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://example.com/.well-known/assetlinks.json\" }] </string>
Depois de seguir essas etapas, você terá configurado corretamente a credencial integrada o compartilhamento entre vários sites e apps Android.