Диплинкинг на Android после события пользователя

Обзор

В некоторых случаях пользователю необходимо выполнить какое-то событие, прежде чем перейти к странице приложения, указанной как пункт назначения диплинка.
Примеры таких пользовательских событий:

  1. Процесс входа в систему
  2. Экран-заставка
  3. Consenting to usage terms

Реализация

Чтобы легко и безопасно синхронизировать пользовательское событие и поток отложенного диплинкинга, рекомендуется инициировать и запустить SDK в activity context where the user event is performed. For example, the view which implements the login process. This is different from the normal flow, where the SDK is initiated and started in the application context.
Обратные вызовы, которые используются в потоке Расширенный отложенный диплинкинг, также должны вызываться в activity context.
В обязанности разработчика входит сохранение данных отложенного и прямого диплинкинга и направление пользователя в нужное место только после выполнения события.

Пример кода

В этой ветке Github вы найдете пример кода, который ожидает псевдо-аутентификации пользователя перед продолжением перехода к назначению диплинка. После проверки подлинности пользователь направляется к месту назначения. Этот поток актуален как для отложенного диплинкинга, так и для прямого диплинкинга (когда приложение уже установлено).
Видно, что контекст приложения application context не содержит кода SDK AppsFlyer. Код AppsFlyer полностью переместился в основную активность activity, которая выполняет пользовательское событие.