Геонастройки / Routing

Приложение поставляется с предустановленными геофайлами, что обеспечивает его готовность к работе сразу после установки. Актуальность геофайлов поддерживается обновлением версии ядра внутри приложения.

Добавление правил маршрутизации

Приложение позволяет добавлять правила маршрутизации автоматически, используя специальные ссылки, которые можно создать на сайте https://routing.happ.su.

Ссылки могут быть переданы одним из следующих способов:

  • Через буфер обмена.

  • С использованием deeplink.

  • Через QR-код.

  • В виде HTTP-заголовков или тела подписки.

Для передачи через HTTP-заголовок используется параметр routing, а для добавления в тело подписки достаточно указать ссылку.

Обработка ошибок загрузки

Приложение использует менеджер загрузки геофайлов, который работает в фоновом режиме.

  • Если загрузка геофайлов не завершается в течение 3 минут, процесс останавливается.

  • На главном экране появляется сообщение об ошибке.

  • В списке профилей рядом с проблемным профилем отображается красный восклицательный знак.

Устранение ошибок

Проблемное состояние профиля исчезает автоматически после:

  • Успешного завершения загрузки файлов.

  • Удаления проблемного профиля.

Если в списке больше нет проблемных профилей, уведомления об ошибках удаляются.

Виды ссылок:

  • happ://routing/add/{base64}: Добавляет профиль в список профилей. Первый добавленный профиль становится активным только после успешной загрузки геофайлов. Если профиль с таким именем уже существует, он перезаписывается.

  • happ://routing/onadd/{base64}: Добавляет и автоматически активирует профиль, даже если другие профили уже активны. Если профиль с таким именем уже существует, он перезаписывается.

  • happ://routing/off: Отключит функционал маршрутизации

{base64}:это JSON-профиль, преобразованный в текстовый формат base64.

Структура профилей

Приложение использует профили маршрутизации, которые настраиваются через JSON.

Профиль по умолчанию содержит базовые настройки, используемые для заполнения отсутствующих или некорректных параметров.

Пример профиля по умолчанию:

Пример пользовательского профиля:

Особенности работы с профилями

  • Если профиль с таким же именем уже существует, его данные обновляются.

  • Если у профиля есть параметр "LastUpdated": "" и он содержит дату в формате Unix, которая больше предыдущего значения, он будет обновлён.

Схема добавления / обновления профиля

Пример http headers:

Пример тела подписки:

Last updated