Deep Linking do iOS 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 view controller onde o evento do usuário é executado. Por exemplo, o controlador de exibição principal, que contém o status de autenticação. 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 view controller.
É 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 AppDelgate não tem inicialização no SDK da AppsFlyer, exceto o código AppTrackingTransparency opcional. O SDK da AppsFlyer foi movido para o controlador de visualização principal que executa o evento do usuário (autenticação neste caso).