Enlaces profundos en iOS después del evento de usuario

Resumen General

En algunos casos se requiere que el usuario pase por algún tipo de evento antes de continuar a la página de la aplicación señalada por el destino del enlace profundo.
Ejemplos de tales eventos de usuario:

  1. Proceso de inicio de sesión
  2. Pantalla Splash
  3. Consenting to usage terms

Implementación

Para sincronizar de manera fácil y segura entre el evento de usuario y el flujo de enlace profundo diferido, se recomienda inicializar e iniciar el SDK en el view controller donde se realiza el evento de usuario. Por ejemplo, el controlador de vista principal, que contiene el estado de autenticación. Esto es diferente del flujo normal, donde el SDK se inicia en el application context.
Las devoluciones de llamada que se utilizan en el flujo de enlaces profundos diferidos extendidos también deben llamarse en view controller.
Es responsabilidad del desarrollador guardar los datos de enlaces profundos diferidos y enlaces profundos directos, y enrutar al usuario al destino requerido solo después de realizar el evento.

Ejemplo de código

En esta rama de Github puedes encontrar una muestra de código que espera una autoría de pseudo-usuario antes de continuar hacia el destino del enlace profundo. Una vez verificada la autenticación, el usuario es dirigido al destino. Este flujo es relevante tanto para el enlace profundo diferido como para el enlace profundo directo (cuando la aplicación ya está instalada).
Se puede ver que el AppDelgate no tiene ninguna inicialización del SDK de AppsFlyer, excepto el código opcional AppTrackingTransparency . El SDK de AppsFlyer se trasladó al controlador de vista principal que realiza el evento de usuario (autenticación en este caso).