Android Deep Linking pós-evento do usuário

Visão Geral

Em alguns casos, o usuário é obrigado a passar por algum tipo de evento antes de continuar para a página do aplicativo apontada pelo destino do link direto.
Exemplos para tais eventos de usuário:

  1. Processo de login
  2. Tela de abertura
  3. Consenting to usage terms

Implementação

Para sincronizar com facilidade e segurança entre o evento do usuário e o fluxo de deferred deep linking, é recomendável iniciar e começar o SDK no activity context onde o evento do usuário é executado. Por exemplo, a exibição que implementa o processo de login. Isso é diferente do fluxo normal, onde o SDK é iniciado e começado no application context.
Os callbacks que são usados no fluxo Extended Deferred Deep Linking também devem ser chamados no activity context.
É responsabilidade do desenvolvedor salvar os dados de deferred deep linking e deep links diretos, encaminhar o usuário para o destino necessário somente após a execução do evento.

Exemplo de código

Nesta ramificação do Github, você pode encontrar um exemplo de código que aguarda uma autenticação de pseudousuário antes de continuar para o destino do deep link. Uma vez verificada a autenticação, o usuário é direcionado ao destino. Esse fluxo é relevante para deferred deep linking e deep links diretos (quando o aplicativo já está instalado).
Você pode ver que o contexto do aplicativo não tem o código SDK da AppsFlyer. O código da AppsFlyer mudou inteiramente para a atividade que realiza o evento do usuário.