TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #516 2.5K
Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. При настройке диплинков в наше приложение иногда требуется сделать так, чтобы только определенные ссылки вели в приложение и наоборот. В этой небольшой серии постов мы разберем, как поступать в таких ситуациях.

Начнем со случаев, когда переход должен быть только по определенным путям.

Как и для любых других диплинков, настройка будет внутри проекта для Android и в файле apple-app-site-association для iOS.

Для Android нужно открыть файл AndroidManifest.xml вашего проекта и там добавить код (или изменить его, если вы уже настраивали диплинки до этого):

<intent-filter android:autoVerify=”true” tools:targetApi=”m”>
<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=”example.com”
android:pathPrefix=”/sample”
/>
</intent-filter>


Такой код позволит нам открывать только страницы, чей URL начинается с https://example.com/sample.

Используйте path, чтобы указать только 1 ссылку:

<data android:path="/sample" />


Используйте pathSuffix, если нужно указать только окончание URL:

<data android:pathSuffix="ample" />


Если вы только настраиваете диплинки в ваше приложение, то не забудьте подготовить и загрузить на ваш сайт файл assetlinks.json. Как он выглядит и создается рассказано в этой статье, которую мы переводили для вас.

Давайте сделаем то же самое и для iOS. Откроем или создадим файл apple-app-site-association. Тут нас интересует массив components внутри объекта details. Существует несколько вариантов реализации:

Если нужно сделать переход именно на эту страницу:
{
“/”: “/sample”,
“comment”: “Откроет только https://example.com/sample”
}


Если можно позволить переход на любого потомка этой страницы:
{
“/”: “/sample/*”,
“comment”: “Откроет также https://example.com/sample/first”
}


И если в пути содержится часть, но мы не знаем ее точного места:
{
“#”: “ample”,
“comment”: “Откроет также https://example.com/mySample”
}


После этого нужно загрузить этот файл на сервер и подождать, пока AASA-Bot заберет его на CDN компании Apple. Обычно это занимает до суток.
  • 👍 6
  • ❤ 4
  • 🔥 4
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 →