Из вашего нативного приложения можно открыть приложение ExodeBiz сразу на нужном экране —
выбрать школу, при необходимости авторизовать пользователя по токену и открыть урок. Достаточно открыть
ссылку-схему штатным способом (
Intent.ACTION_VIEW на Android / UIApplication.open на iOS).Формат ссылки
Deep link использует URL-схему приложенияexodebizapp://. Все параметры кладутся в один параметр
data — это URL-кодированная query-строка:
data:
string
required
Всегда
open-page.string
required
Домен (FQDN) школы, например
my-school.com или my-school.exode.biz.string
required
Идентификатор экрана. Для урока — см. раздел «Открыть урок».
string (JSON)
required
JSON с параметрами экрана, например
{"page":"1","courseId":"42","lessonId":"123"}.string (base64url)
Список дополнительных действий (например авторизация). См. раздел «extra».
Открыть урок
page— страница в списке курсов; для перехода на урок укажите"1".courseId,lessonId— идентификаторы курса и урока в вашей школе.
DOMAIN, COURSE_ID, LESSON_ID:
Другие экраны
МеняяpageId и params, можно открыть любой экран:
extra — вложенные действия (авторизация)
Параметрextra позволяет прокинуть в приложение список действий, которые выполнятся вместе с
открытием — например авторизацию по токену. extra — это base64url(JSON.stringify({ actions: [...] })).
Структура JSON:
Порядок выполнения гарантирован: сначала — действия из
extra (по порядку в массиве), затем —
навигация из open-page. То есть ссылка open-page + extra:[{login-by-token}] даёт ровно:
открыть приложение → авторизоваться → открыть страницу.1
Получите токен сессии пользователя
Токен создаётся методом Создание токена сессии
(
POST /saas/v2/user/session/auth-token). Возьмите значение поля token из ответа.2
Соберите extra
extra = base64url(JSON.stringify({ actions: [{ type: 'login-by-token', token }] })).Пример (с placeholder-токеном USER_TOKEN):3
Добавьте extra в data
Добавьте
extra к query-строке внутри data — приложение переключит школу, авторизует пользователя
и откроет урок.Используйте именно base64url (
-/_ вместо +//, без =-padding) — обычный base64 может
некорректно пройти через query-строку.Сборка и открытие ссылки в коде
Поведение
- Deep link срабатывает только если приложение установлено. Если нет — ОС ничего не откроет:
обработайте это сами и покажите fallback (магазин приложений или сайт школы). На Android ловите
ActivityNotFoundException, на iOS —success == falseв completion-handleropen. - Если школа ещё не была добавлена в приложении — она добавится автоматически и станет активной.
- Навигация подчиняется обычной авторизации: без
extra-логина неавторизованный пользователь увидит экран входа.
Диагностика
Обновлено: 2026-07-04 09:33 UTC