TGViewer
Flutter & Dart | Мобильный трудоголик Flutter & Dart | Мобильный трудоголик @hardworkerflutter · 405 subscribers
Post #64 619
👣 Deeplinks во Flutter: настройка для Android и iOS

Диплинки позволяют открывать приложение по ссылке - перешел по URL и сразу попал на нужный экран. Смена пароля по ссылке из письма, открытие конкретного видео или поста, переход на карточку товара по ссылке - все это работает через deeplinks. Во Flutter нет единого решения, потому что механизм завязан на платформу. Придется настраивать Android и iOS отдельно, но это не так страшно, как кажется.

Для обработки ссылок внутри Flutter удобнее всего использовать пакет app_links. Он официально поддерживается, работает на всех платформах.


Добавляем пакет в проект:

Для добавления пакета в проект можно выполнить команду в терминале:


flutter pub add app_links


Либо добавить следующую строку в блок dependencies в файле pubspec.yaml:


app_links: ^7.1.1



Настройка для Android:

В файле android/app/src/main/AndroidManifest.xml внутри <activity> нужно добавить intent-filter. Это правило, которое говорит системе что нужно обрабатывать ссылки такого вида.


<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="your-domain.com" />
</intent-filter>


Если используете кастомную схему (не http/https), укажите ее вместо https.


App Links (https):

Для автоматического открытия ссылок в приложении нужно:

🔵Указать android:autoVerify="true" в intent-filter.

🔵Разместить файл assetlinks.json на сервере в папке .well-known (домен должен совпадать с указанным в intent-filter).

Пример файла assetlinks.json:


[
{
"relation": [
"delegate_permission/common.handle_all_urls"
],
"target": {
"namespace": "android_app",
"package_name": "com.example.yourapp",
"sha256_cert_fingerprints": [
"ваш SHA256 отпечаток"
]
}
}
]


SHA256 можно получить из Google Play Console или сгенерировать через keytool.


Настройка для iOS:

Custom scheme:

Добавьте схему в Xcode: откройте Info.plist как исходный код и добавьте:


<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp</string>
</array>
</dict>
</array>



Universal Links (https):

 Нужно:

🔵Включить Associated Domains в Capabilities проекта Xcode.

🔵Добавить applinks:your-domain.com.

🔵Разместить файл apple-app-site-association на сервере в папке .well-known.

Пример файла apple-app-site-association:


{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAMID.com.example.yourapp",
"paths": ["*"]
}
]
}
}


TEAMID можно найти в Apple Developer Account.


🔗 Читать подробнее


💡 Вывод:

Диплинки во Flutter настраиваются в несколько этапов: правим манифест на Android, добавляем entitlements на iOS, кладем файлы на сервер, а в коде используем app_links для получения ссылок и Navigator для переходов. app_links берет на себя всю сложность получения deeplink на обеих платформах. Вам остается только подписаться на поток и написать логику переходов.

После правильной настройки приложение будет корректно открываться по ссылкам из писем, мессенджеров или браузера. Главное не забыть протестировать все сценарии и убедиться, что файлы assetlinks.json и apple-app-site-association доступны по правильным адресам.


Подписаться на канал:
➡️ Flutter & Dart | Мобильный трудоголик

Закрытый канал:
🚀 Мобильный трудоголик PRO
  • 👍 4
  • ❤ 2
  • 🙏 1
More from @hardworkerflutter
  1. Sep 29, 2026👣 Как встроить Unity игру во Flutter приложение Flutter отлично справляется с интерфейсом…
  2. Sep 25, 2026👨‍💻 Гонка за самую мощную ИИ-модель подходит к концу? Последние несколько лет за развити…
  3. Sep 22, 2026👣 Как async* упрощает работу с потоками в Dart В Dart есть инструмент, который многие нед…
  4. Sep 15, 2026👣 Влияет ли выбор state management на производительность Flutter? Можно ли ускорить Flutt…
  5. Sep 11, 2026👣 Плагин Flutter для VS Code обновился до версии 3.142.0 Вышло обновление плагина Flutter…
  6. Sep 8, 2026👣 Архитекторы, тестировщики и кодеры. Создаем мультиагентную команду Разработка с ИИ-аген…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →