Maximize a conveniência do usuário ao ativar o compartilhamento de credenciais integrado entre plataformas em apps e sites. Quando vários sites e apps Android compartilham um back-end de gerenciamento de contas, esse recurso permite que os usuários salvem as credenciais uma vez e as tenham sugeridas automaticamente em qualquer site ou app Android vinculado.
Há dois métodos de configuração de compartilhamento de credenciais:
- Play Console: recomendado para a maioria dos desenvolvedores ao configurar
o compartilhamento de credenciais com apps Android. Esse método permite configurar
o compartilhamento de credenciais sem precisar lançar uma nova versão do app.
Mesmo ao usar o Play Console, ainda é necessário publicar um arquivo
assetlinks.jsonválido no seu site. - Digital Asset Links (DALs): adequados para casos de uso avançados, como oferecer suporte a vários apps ou domínios com configurações mais complexas.
Práticas recomendadas
Para ter a melhor experiência do usuário e segurança, implemente o compartilhamento de credenciais nestes pontos de contato:
- Formulário de login: ative o preenchimento automático de credenciais.
- Formulário de inscrição: armazene novas credenciais com segurança para uso em várias plataformas.
- Formulário de alteração de senha: sincronize as atualizações de senha em todas as plataformas.
- Formulário de redefinição de senha: permita que as redefinições de senha única atualizem todas as plataformas.
- Domínios de WebView: estenda o compartilhamento de credenciais para domínios de WebView no app que processam o gerenciamento de contas (formulários de login, inscrição, alteração ou redefinição de senha do host).
- Apps Android
Essa abordagem cria um sistema de gerenciamento de credenciais unificado, melhorando a conveniência e a segurança do usuário.
Ao projetar seus sites de gerenciamento de contas, sugerimos que você siga estas práticas recomendadas:
- Projetar seu formulário de inscrição de acordo com as práticas recomendadas
- Projetar seu formulário de login de acordo com as práticas recomendadas
- Adicionar um URL conhecido para alteração de senhas
Ao projetar seus apps Android, recomendamos que você integre o app ao Gerenciador de credenciais do Android.
Configurar o compartilhamento de credenciais usando o Play Console
Agora é possível ativar o compartilhamento de credenciais integrado diretamente no Play Console sem publicar uma nova versão do app Android. Esse método simplifica o processo gerenciando as configurações de compartilhamento de credenciais pela interface do Play Console.
Pré-requisitos
Antes de configurar o compartilhamento de credenciais usando o Play Console, verifique se você tem:
- As permissões necessárias do Play Console para acessar as seções Links diretos e Configuração do app. Se você não for o proprietário da conta, peça ao administrador do Play Console para conceder o acesso adequado.
- Capacidade de publicar um arquivo
/.well-known/assetlinks.jsonem cada domínio, seguindo a sintaxe do Digital Asset Links (DALs).
Ativar o compartilhamento de credenciais para um novo domínio
Para configurar o compartilhamento de credenciais integrado no Play Console para um novo domínio, siga estas etapas:
- Abra o Play Console e acesse a página Links diretos (Crescimento de usuários > Links diretos).
- Na guia Configuração do app, clique em Adicionar domínio.
- Insira o domínio do seu site.
- Ative a opção Ativar o compartilhamento de credenciais.
- Copie o arquivo JSON gerado e publique-o no local especificado
(
https://YOUR_DOMAIN/.well-known/assetlinks.jsonde acordo com o protocolo) ou adicione as informações relevantes ao arquivo assetlinks.json. - Clique em Criar associação de sites.
Se for bem-sucedido, você vai voltar à página Links diretos.
Ativar o compartilhamento de credenciais para um domínio
Para configurar o compartilhamento de credenciais integrado no Play Console para um domínio existente, siga estas etapas:
- Selecione a guia Configuração do app.
- Na seção Domínios, em Configuração do app, clique em Ativar na coluna Compartilhamento de credenciais.
- Copie o arquivo JSON gerado e publique-o no local especificado
(ou adicione as informações relevantes ao arquivo
assetlinks.json). - Clique em Ativar o compartilhamento de credenciais.
Se for bem-sucedido, você vai voltar à página Links diretos.
Configurar o compartilhamento de credenciais usando apenas os Digital Asset Links (DALs)
Para configurações complexas que envolvem vários apps ou sites, use os links de ativos digitais (DALs, na sigla em inglês) para configurar o compartilhamento de credenciais manualmente.
Pré-requisitos
Antes de configurar o compartilhamento de credenciais integrado, verifique se você tem o seguinte para cada plataforma:
Para cada app Android:
- O ID do aplicativo Android, conforme declarado no arquivo
build.gradledo app. - As impressões digitais SHA256 do certificado de assinatura.
- (Recomendado) O login do usuário foi implementado com a API Credential Manager.
Para cada site:
- Capacidade de publicar um arquivo
/.well-known/assetlinks.jsonem cada domínio respectivo, seguindo a sintaxe do Digital Asset Links (DALs). - Todos os domínios de gerenciamento de contas (formularios de login, inscrição, alteração ou redefinição de senha) precisam ser acessíveis por HTTPS.
Ativar o compartilhamento de credenciais integrado entre apps Android e sites
Para configurar o compartilhamento de credenciais integrado entre apps e sites, crie e publique listas de declarações de Digital Asset Links que declarem quais entidades (sites ou apps Android) podem compartilhar credenciais.
Para declarar uma relação de compartilhamento de credenciais:
Crie um arquivo
assetlinks.jsoncom instruções que vinculam ao site e ao app Android, seguindo a sintaxe da lista de instruções de DALs:[ { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"web", "site":URL } }, { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"android_app", "package_name":"APP_ID", "sha256_cert_fingerprints":[ "SHA_HEX_VALUE" ] } } ]Em que
URLé o URL do seu site,APP_IDé o ID do aplicativo Android eSHA_HEX_VALUEé a impressão digital SHA256 do certificado de assinatura do seu app Android.O campo
relationdescreve a relação que está sendo declarada. Para declarar que apps e sites compartilham credenciais de login, especifique as relações comodelegate_permission/common.get_login_creds. Saiba mais sobre strings de relação em DALs.O campo
targeté um objeto que especifica o recurso a que a declaração se aplica.Os campos a seguir identificam um site:
namespacewebsiteO URL do site, no formato
https://domain[:optional_port. Por exemplo, https://www.example.com.O
domainprecisa ser totalmente qualificado, eoptional_portprecisa ser omitido ao usar a porta 443 para HTTPS.Um destino
sitesó pode ser um domínio raiz. Não é possível limitar uma associação de app a um subdiretório específico. Não inclua um caminho no URL, por exemplo, uma barra.Não é esperado que os subdomínios apresentem correspondências: ou seja, se você especificar
domaincomo www.example.com, o domínio www.counter.example.com não será associado ao app.Os campos a seguir identificam um app Android.
namespace
android_app
package_name
Nome do pacote declarado no manifesto do app. Por exemplo, com.example.android
sha256_cert_fingerprints
As impressões digitais SHA256 do certificado de assinatura do app.
Hospede o arquivo JSON do Digital Asset Links no seguinte local nos domínios de login:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json, em queDOMAINé totalmente qualificado eOPTIONAL_PORTprecisa ser omitido ao usar a porta 443 para HTTPS.Declare a associação no app Android incorporando uma instrução no arquivo
res/values/strings.xmldo app Android que vincula à lista de instruções que você criou na etapa 1. Adicione um objeto que especifique os arquivosassetlinks.jsona serem carregados. Exemplo:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>Substitua
DOMAINeOPTIONAL_PORT(precisa ser omitido ao usar a porta 443 para HTTPS), por exemplo,https://www.example.com. Faça o escape de todos os apóstrofos e aspas que você usa na string.Também é possível adicionar um snippet JSON no arquivo
strings.xml, conforme mostrado na documentação de DALs, mas o uso da instruçãoincludepermite mudar instruções sem publicar uma nova versão do app.Faça referência à instrução no manifesto adicionando a seguinte linha ao arquivo
AndroidManifest.xmldo app em<application>:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>Publicar a nova versão do app Android no Google Play Console
Depois de seguir estas etapas, você terá configurado o compartilhamento de credenciais integrado entre o site e o app Android.
Essa não é a única maneira válida de configurar DALs para compartilhamento de credenciais, mas essa abordagem simplifica o processo futuro de adicionar novas entidades à sua rede de compartilhamento de credenciais, promove a reutilização de código e reduz o potencial de erros durante as atualizações.