TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #66 1.48K
Flutter Deeplinks, ч.1

Hola, Amigos! С вами Антон Мартышков, Flutter-dev Amiga. Я думаю, что каждый хоть раз да сталкивался с необходимостью реализовать диплинки в приложении. В этом посте мы рассмотрим Deep Links для Android и Custom Scheme Links для iOS.

Deeplinks — это обычная ссылка, и мы можем настроить платформы Android и iOS запускать наше приложение и передавать туда данные. Android и iOS похожи в реализации и работе этих механизмов. В Android есть 2 типа ссылок, открывающих приложение: Deep Links и App Links. У iOS также есть 2 типа ссылок: Custom Scheme Links и Uni Links.

Deep Links для Android
В файле android/app/src/main/AndroidManifest.xml внутри <activity>...</activity> необходимо добавить следующий intent-filter:

<meta-data android:name="flutter_deeplinking_enabled" android:value="true" />
<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="customscheme"
android:host="customdomain.com"
android:pathPrefix="/path" />
</intent-filter>

android:scheme — указывается кастомная схема либо http
android:host — указывается имя хоста
android:pathPrefix — опциональный параметр
Такой интент-фильтр будет открывать наше приложение для ссылок вида my-scheme://my-host/my-prefix и my-scheme://my-host/my-prefix*

Протестировать это можно нажатием на саму ссылку (customscheme://customdomain.com/path) или командой ниже:

adb shell am start -a android.intent.action.VIEW -d "customscheme://customdomain.com/path" your-app-package-name

Custom Scheme Links для iOS

Они очень схожи с Deep Links и App Links в Android, но Custom Scheme Links могут иметь только кастомные схемы, но не http и https, для них придумали Uni Links. Для добавления ссылки с кастомной схемой необходимо добавить следующее в info.plist файл:

<key>FlutterDeepLinkingEnabled</key>
<true/>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>customdomain.com</string>
<key>CFBundleURLSchemes</key>
<array>
<string>customscheme</string>
</array>
</dict>
</array>

Причем CFBundleURLName необязателен, так как в iOS система смотрит только на CFBundleURLSchemes.

Чтобы проверить работу ссылки, можно открыть симулятор и вызвать команду
xcrun simctl openurl booted customscheme://customdomain.com/1 или customscheme://anything.

Важно: приложение должно быть установлено на устройстве.

В следующем посте я расскажу про продвинутые диплинки, которые при отсутствии приложения на устройстве ведут на GooglePlay или AppStore для его установки.
  • 🔥 19
  • 👍 6
More from @flutter_amiga
  1. Sep 9, 2026AI BOOST’26: выручка падает — что делают крупные digital-агентства и при чем здесь AI 22–2…
  2. Aug 18, 2026Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня посмотрим на чек-…
  3. Aug 13, 2026Hola, Amigos! Сегодня вышли Flutter 3.47 и Dart 3.13. Давайте вместе разберемся, что в них…
  4. Jul 31, 2026Дайджест июля Hola, Amigos! Собрали в одну подборку все полезные посты июля, которые вы мо…
  5. Jul 28, 2026Hola, Amigos! Сегодня посмотрим на один пакет, который может быть полезен в разработке - p…
  6. Jul 24, 2026Hola, Amigos! Сегодня мы вводим новую рубрику - обзоры правил для статического анализатора…
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 →