Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Android: URL scheme, deeplink, deep linking, mobile app, custom protocol

Что такое URL scheme и как она используется для диплинков?

Этот вопрос проверяет понимание URL-схем и их применения для реализации глубоких ссылок (deeplinks) в мобильных и веб-приложениях.

Короткий ответ

URL-схема — это первая часть URL, например, 'https://' или 'myapp://'. Она определяет протокол, который система использует для обработки ссылки. Для диплинков разработчики регистрируют кастомные схемы, такие как 'myapp://', чтобы операционная система открывала ссылки в их приложении, а не в браузере. Это позволяет переходить из веб-страниц, писем или других приложений прямо в конкретный экран вашего приложения. Например, ссылка 'myapp://profile/123' может открыть профиль пользователя с ID 123.

Длинный ответ

URL-схема (или протокол) — это идентификатор в начале URL, который сообщает операционной системе или браузеру, какой механизм использовать для обработки запроса. Стандартные схемы включают http:, https:, mailto: и tel:. Для создания диплинков в мобильных приложениях разработчики регистрируют собственную, уникальную схему, например, myapp: или yourapp:.

Как это работает

Когда пользователь кликает на ссылку с кастомной схемой (или система пытается её открыть), ОС проверяет, какое приложение зарегистрировано для её обработки. Если приложение установлено, оно запускается, и ссылка передаётся ему для парсинга. Если приложение не установлено, может произойти ошибка или пользователь будет перенаправлен в веб-браузер или магазин приложений.

Пример регистрации и обработки

В iOS вы объявляете схему в файле Info.plist:

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

В Android схема объявляется в AndroidManifest.xml внутри intent-фильтра соответствующей Activity.

Затем в коде приложения вы обрабатываете входящий URL. Пример на Swift для iOS:

func application(_ app: UIApplication,
                 open url: URL,
                 options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
    // Парсим URL, например: myapp://product/42
    guard url.scheme == "myapp" else { return false }
    let pathComponents = url.pathComponents // ["/", "product", "42"]
    // На основе компонентов навигируем на экран товара с ID 42
    return true
}

Где и как применяется

  • Маркетинг и реклама: Ссылки из email-рассылок или социальных сетей открывают приложение на конкретной акционной странице.
  • Верификация: После подтверждения email в браузере, ссылка с кастомной схемой может снова открыть приложение.
  • Интеграция между приложениями: Одно приложение может открыть другое, передав данные через URL.

Основной недостаток кастомных схем — они не работают, если приложение не установлено. Для решения этой проблемы используются технологии Universal Links (iOS) и App Links (Android), которые используют HTTPS-ссылки и привязку к домену.

Вывод: Кастомные URL-схемы — это простой и широко поддерживаемый механизм для реализации базовых диплинков в мобильных приложениях. Их стоит применять для внутренней навигации или в сценариях, где вы уверены, что приложение у пользователя установлено. Для лучшего пользовательского опыта (особенно при первом открытии) рекомендуется комбинировать их с Universal Links/App Links.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    4

Навыки

  • Android

    Android

  • IOS

    IOS

Ключевые слова

#URL scheme

#deeplink

#deep linking

#mobile app

#custom protocol

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.