Postado por Niharika Arora – Engenheiro Sênior de Relações com Desenvolvedores do Google, Thomás Oliveira Horta – Engenheiro Android da Uber
Como a Uber está reduzindo logins manuais em 4 milhões por ano com a API Restore Credentials
Uber é a maior empresa de transporte compartilhado do mundo, transportando milhões de pessoas daqui para lá e, ao mesmo tempo, apoiando a entrega de alimentos, o transporte de saúde e a logística de frete. A simplicidade de acesso é crucial para o seu sucesso; quando os usuários mudam para um novo dispositivo, eles esperam uma transição perfeita, sem a necessidade de fazer login novamente no aplicativo Uber ou passar por autenticação de senha única baseada em SMS. Essa rotatividade frequente de dispositivos representa um desafio, bem como uma oportunidade para uma forte retenção de usuários.
Para manter a continuidade dos usuários, os engenheiros da Uber recorreram ao Restaurar credenciais recurso, uma ferramenta essencial para uma época em que 40% das pessoas nos Estados Unidos substituem seus smartphones todos os anos. Após uma avaliação da demanda dos usuários e da prototipagem de código, eles introduziram o suporte para Restauração de Credenciais no Aplicativo para motorista Uber. Para validar que a restauração de credenciais ajuda a eliminar o atrito para novos logins, a equipe da Uber realizou um experimento A/B bem-sucedido por um período de cinco semanas. A integração levou a uma redução nos logins manuais que, quando projetada na enorme base de usuários da Uber, estima-se que elimine 4 milhões de logins manuais anualmente.
Eliminando atritos de login com Restaurar Credenciais

A API Restore Credentials elimina o processo de login manual de várias etapas em novos dispositivos.
Houve tentativas anteriores de restauração de contas em novos dispositivos usando soluções como dados regulares backup e BlockStoreembora ambas as soluções exigissem o compartilhamento direto de tokens de autenticação, do dispositivo de origem para o dispositivo de destino. Como as informações do token são altamente confidenciais, essas soluções são usadas apenas até certo ponto, para preencher previamente os campos de login no dispositivo de destino e reduzir alguns atritos durante os fluxos de login. As chaves de acesso também são usadas para fornecer um método de login rápido e seguro, mas sua natureza iniciada pelo usuário limita seu impacto nas transições perfeitas de dispositivos.
“Alguns usuários não usam o aplicativo Uber diariamente, mas esperam que ele funcione apenas quando precisam”, disse Thomás Oliveira Horta, engenheiro Android da Uber. “Descobrir que você está desconectado assim que abre o aplicativo para solicitar uma carona em seu novo telefone Android pode ser uma experiência desagradável e desanimadora.”
Com Restaurar credenciaisos engenheiros conseguiram preencher essa lacuna. A API gera um token exclusivo no dispositivo antigo, que é movido de forma contínua e silenciosa para o novo dispositivo quando o usuário restaura os dados do aplicativo durante o processo de integração padrão. Este processo aproveita o mecanismo nativo de backup e restauração do sistema operacional Android, garantindo a transferência segura da chave de restauração junto com os dados do aplicativo. A abordagem simplificada garante uma transferência de conta simples e segura, atendendo aos requisitos de segurança da Uber sem qualquer intervenção adicional do usuário ou sobrecarga de desenvolvimento.
“Com a adoção do Restore Credentials no aplicativo de passageiro da Uber, começamos a ver um uso consistente”, disse Thomás. “Uma média de 10.000 usuários diários únicos fizeram login com Restore Credentials no estágio de implementação atual e desfrutaram de uma experiência perfeita ao abrir o aplicativo pela primeira vez em um novo dispositivo. Esperamos que esse número dobro assim que expandirmos a implementação para toda a nossa base de usuários.”
Considerações de implementação
“A integração foi bastante fácil, com pequenos ajustes no lado do Android, seguindo as código de amostra e documentação”, disse Thomás. “Nosso aplicativo já usava o Credential Manager para chaves de acesso e o back-end exigia apenas alguns pequenos ajustes. Portanto, precisávamos simplesmente atualizar a dependência do Credential Manager para sua versão mais recente para obter acesso à nova API Restore Credentials. Criamos uma chave de restauração através do mesmo fluxo de criação de senha e quando nosso aplicativo é iniciado em um novo dispositivo, o aplicativo verifica proativamente essa chave, tentando uma recuperação silenciosa da chave de acesso. Se a chave de restauração for encontrada, ela será imediatamente utilizada para fazer login automaticamente do usuário, ignorando qualquer login manual.”
Ao longo do processo de desenvolvimento, os engenheiros da Uber enfrentaram alguns desafios durante a implementação, desde a escolha do ponto de entrada correto até o gerenciamento do ciclo de vida da credencial no back-end.
Escolhendo o ponto de entrada de credenciais de restauração
Os engenheiros avaliaram cuidadosamente as vantagens e desvantagens entre uma experiência de usuário perfeitamente integrada e a simplicidade de implementação ao selecionar quais credenciais de restauração ponto de entrada a ser usado para recuperação. Em última análise, eles priorizaram uma solução que oferecesse um equilíbrio ideal.
“Isso pode ocorrer durante o lançamento do aplicativo ou em segundo plano durante a restauração e configuração do dispositivo, usando BackupAgent”, disse Thomás. “O ponto de entrada de login em segundo plano é mais fácil para o usuário, mas apresentava desafios com operações em segundo plano e uso necessário do API BackupAgent, o que teria levado ao aumento da complexidade em uma base de código tão grande quanto a do Uber.” Eles decidiram implementar o recurso durante o primeiro lançamento de aplicativoque foi significativamente mais rápido que o login manual.
Enfrentando desafios do lado do servidor
Alguns desafios do lado do servidor surgiram durante a integração com as APIs WebAuthn de back-end, pois seu design presumia que a verificação do usuário sempre seria necessária e que todas as credenciais seriam listadas nas configurações da conta do usuário; nenhuma dessas suposições funcionou para as chaves de Credencial de Restauração não gerenciadas pelo usuário.
A equipe da Uber resolveu isso fazendo pequenas alterações nos serviços WebAuthn, criando novos tipos de credenciais para distinguir chaves de acesso de credenciais de restauração e processá-las adequadamente.
Gerenciando o ciclo de vida de credenciais de restauração
Os engenheiros da Uber enfrentaram vários desafios no gerenciamento das chaves de credenciais no back-end, com suporte especializado do engenheiro de back-end Ryan O’Laughlin:
-
Evitando chaves órfãs: Um desafio significativo foi definir uma estratégia para excluir Chaves Públicas registradas para evitar que elas se tornassem “órfãs”. Por exemplo, desinstalar o aplicativo exclui a credencial local, mas como essa ação não sinaliza o back-end, ela deixa uma chave não utilizada no servidor.
-
Equilibrando a vida útil da chave: Keys precisava de um “tempo de vida” que fosse longo o suficiente para lidar com casos extremos. Por exemplo, se um usuário fizer um backup e uma restauração e depois efetuar logout manualmente no dispositivo antigo, a chave será excluída desse dispositivo antigo. No entanto, a chave deve permanecer válida no servidor para que o novo dispositivo ainda possa utilizá-la.
-
Suportando vários dispositivos: como um usuário pode ter vários dispositivos (e pode iniciar um backup e uma restauração a partir de qualquer um deles), o back-end precisa oferecer suporte a várias credenciais de restauração por usuário (uma para cada dispositivo).
Os engenheiros da Uber enfrentaram esses desafios estabelecendo regras para exclusão de chaves do lado do servidor com base no registro e no uso de novas credenciais.
O recurso passou do design à entrega em um rápido processo de desenvolvimento e teste de dois meses. Depois disso, um experimento A/B de cinco semanas (tempo para validar o recurso com os usuários) correu bem e produziu resultados inegáveis.
Evitando a desistência do usuário com a restauração de credenciais
Eliminando logins manuais em novos dispositivosa Uber reteve usuários que poderiam ter abandonado o fluxo de login em um novo dispositivo. Este aumento na facilidade do cliente refletiu-se numa ampla gama de melhorias e, embora possam parecer ligeiras à primeira vista, o impacto é enorme na escala da base de utilizadores da Uber:
-
Redução de 3,4% em logins manuais (SMS OTP, senhas, login social).
-
Redução de 1,2% nas despesas com logins que necessitam de SMS OTP.
-
Aumento de 0,575% na taxa de acesso do Uber (% de dispositivos que chegaram com sucesso à tela inicial do aplicativo).
-
Aumento de 0,614% nos aparelhos com viagens concluídas.
Hoje, Restore Credentials está a caminho de se tornar um padrão parte do aplicativo de passageiros do Uber, com mais de 95% dos usuários no grupo experimental registrado.
(fluxo da IU)
Durante a configuração do novo dispositivo, os usuários podem restaurar dados e credenciais do aplicativo a partir de um backup. Depois de selecionar o Uber para restauração e o processo em segundo plano terminar, o aplicativo conectará automaticamente o usuário na primeira inicialização do novo dispositivo.
O impacto invisível, porém massivo, das Credenciais de Restauração
Nos próximos meses, a Uber planeja expandir a integração do Restore Credentials. Projetando a partir dos resultados do teste, eles estimam que a mudança eliminará 4 milhões de logins manuais anualmente. Ao simplificar o acesso aos aplicativos e eliminar um ponto problemático importante, eles estão construindo ativamente uma base de clientes mais satisfeita e fiel, um passeio de cada vez.
“A integração do RestoreCredentials do Google nos permitiu oferecer a experiência perfeita de ‘simplesmente funciona’ que nossos usuários esperam em um novo dispositivo”, disse Matt Mueller, gerente principal de projetos de identidade principal da Uber. “Isso se traduziu diretamente em um aumento mensurável na receita, provando que a redução do atrito no login é fundamental para o envolvimento e a retenção do usuário.”
Pronto para aprimorar a experiência de login do seu aplicativo?
Aprenda como facilitar uma experiência de login perfeita ao trocar de dispositivo com Restaurar credenciais e leia mais no postagem no blog. No último canário do Android Studio Lontra você pode validar sua integração, pois novos recursos ajudam a simular os mecanismos de backup e restauração.
Se você é novo no Credential Manager, pode consultar nosso site oficial documentação,