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

Обзор

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

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

Реализация

Чтобы легко и безопасно синхронизировать пользовательское событие и поток отложенного диплинкинга, рекомендуется инициировать и запустить SDK в view controller , где выполняется пользовательское событие. Например, контроллер главного представления, содержащий статус аутентификации. Это отличается от обычного потока, где SDK и инициируется и запускается в application context.
Обратные вызовы, которые используются в потоке Расширенный отложенный диплинкинг, также должны вызываться в view controller.
В обязанности разработчика входит сохранение данных отложенного и прямого диплинкинга и направление пользователя в нужное место только после выполнения события.

Пример кода

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