Использовать универсальные ссылки
При ссылках из браузера вам обязательно следует использовать универсальные ссылки.Если пользователь не установил приложение и щелкнул по схеме URI, в браузере отобразится сообщение об ошибке.Есть способы обойти это, например, перенаправление javascript , но они очень хакерские и не всегда работают.
Обнаружение клика в браузере
Функции вВаш делегат приложения не будет вызываться до тех пор, пока приложение не будет передано управление из браузера, поэтому невозможно обнаружить щелчок браузера в самом приложении.Вы должны будете использовать некоторые обработчики событий щелчка JavaScript, чтобы обнаружить это, но вся передача обслуживания обрабатывается на уровне ОС, поэтому вы не сможете контролировать это.
Регистрация открытия по глубокой ссылке
Когда глубокая ссылка откроет ваше приложение, оно вызовет одну из трех функций.
из схемы URI (myapp: //) :
application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool
только из Universal Link, только когда приложение работает в фоновом режиме:
(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler
Из Universal Link, если приложение закрыто
(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Это последнееполучает большинство людей, потому что они предполагают, что continueUserActivity
должен быть вызван, но это действительно эта функция, и они помещают URL-адрес глубокой ссылки в параметр параметров запуска.
Используйте Branch или стороннюю организацию
Наконец,Вы можете использовать Branch , которая использует URI и универсальные ссылки, когда это необходимо, и перенаправляет все функции-делегаты приложения на один обратный вызов, поэтому вам не нужно обновлять логику маршрутизации в трех разных местах.