Реалізація Custom URL Scheme для мобільного додатку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація Custom URL Scheme для мобільного додатку
Простий
~1 день
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Реалізація Custom URL Scheme для мобільного додатка

Deep link не відкривається — користувач бачить пустий браузер замість потрібного екрану додатка. Або відкривається, але передає параметри в кодуванні, яке додаток не парсить. Це класика при першій реалізації URL scheme.

Два підходи та коли який вибирати

Custom URL Scheme (myapp://product/123) — простий у реалізації, але небезпечний: будь-який додаток може зареєструвати той же scheme та перехопити deeplink. Підходить для внутрішньої навігації між власними додатками або для dev-інструментів.

Universal Links (iOS) / App Links (Android) — працюють через HTTPS-домен з верифікаційним файлом (apple-app-site-association / assetlinks.json). Безпечні, падають на браузер, якщо додаток не встановлений. Це правильний шлях для продакшену.

На практиці реалізуємо обидва: Universal Links як основний механізм, Custom URL Scheme як fallback для випадків, коли верифікація домену неможлива.

Деталі реалізації

iOS (Swift/SwiftUI): реєструємо scheme в Info.plist в CFBundleURLTypes, обробляємо в application(_:open:options:) для UIKit або через .onOpenURL в SwiftUI. Для Universal Links — application(_:continue:restorationHandler:). Парсинг URL робимо через URLComponents, не через ручний split рядка.

Android (Kotlin): у AndroidManifest.xml додаємо <intent-filter> з <data android:scheme="myapp"/>, обробляємо intent.data в Activity. Для App Links додаємо android:autoVerify="true" та завантажуємо assetlinks.json на https://domain.com/.well-known/.

React Native: використовуємо Linking API з react-native core, для навігації — @react-navigation/native з linking конфігом. Головна помилка — забути обробити кейс, коли додаток був закритий (cold start) vs уже запущений (foreground). Це різні подіï.

Flutter: пакет go_router підтримує deep links нативно, потрібно тільки налаштувати routerConfig з GoRouter та додати конфігурацію в нативні модулі через flutter_deeplinking_enabled в Info.plist/manifest.

Типова помилка при тестуванні

Диплінк тестують тільки через Safari/Chrome, але забувають перевірити випадок "додаток встановлений, але закритий". На iOS з Universal Links буває затримка верифікації AASA-файлу при першому запуску — додаток відкривається через браузер замість диплінка, та команда думає, що щось сломано. Це нормальна поведінка, кеш оновлюється протягом доби.

Терміни реалізації: 1-3 дні для базового Custom URL Scheme, до 5 днів якщо потрібні Universal Links з настройкою домену та навігацією до конкретних екранів.