Ответ
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).
Ответ 18+ 🔞
А, диплинки! Ну это ж классика, ёпта. Представь: тебе в мессенджер кидают ссылку, ты тыкаешь — и тебя не просто в приложение швыряет, а прямиком на нужный товар или пост. Магия, блядь! В Flutter за эту пляску с бубном отвечают либо пакет uni_links, либо можно в натив лезть, через Intent на андроиде и Universal Links на айосе.
Вот смотри, как это обычно выглядит, чтоб ты не бздел:
// Поднимаем это дело в 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 прописать. Без настройки — хуй с горы, ничего не полетит. - И главное, безопасность, блядь! Не доверяй ссылкам слепо. Проверяй, откуда они пришли, что внутри. А то какой-нибудь пидарас шерстяной подсунет тебе скрипт, и будет вам хиросима. Всегда санитайз и валидируй, что в эту ссылку завернули, прежде чем куда-то по ней прыгать.
В общем, штука мощная, но требует прямых рук и внимания. Сделаешь — пользователи будут счастливы, а приложение — как хитрая жопа, везде проникнет.