Что такое Deeplink

«Что такое Deeplink» — вопрос из категории Навигация, который задают на 29% собеседований Flutter Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Deeplink — это специальная ссылка, которая ведет не просто на приложение, а на конкретный экран или контент внутри него. В Flutter для работы с deeplinks используется пакет uni_links или нативный подход через Intent (Android) и Universal Links (iOS).

Пример обработки deeplink в Flutter:

// Инициализация в main()
String? initialLink = await getInitialLink();  
if (initialLink != null) handleDeepLink(initialLink);  

// Подписка на изменения ссылки  
linkStream.listen((String? link) {  
  if (link != null) handleDeepLink(link);  
});  

void handleDeepLink(String link) {  
  if (link.contains('/product/')) {  
    Navigator.push(context, ProductPage(id: extractId(link)));  
  }  
}  

Нюансы:

  • На Android требуется настройка AndroidManifest.xml (intent-filter).
  • На iOS — ассоциация домена (Universal Links) или схема URL.
  • Проверяйте ссылки на безопасность (например, чтобы избежать XSS).