Ответ
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).