Пятый фактор Отправить заявку
Переносы сайтов и данных

Миграция Android-приложения Сбер ID на SIDSDK_CORE и SIDSDK_ELK

Миграция Android-приложения Сбер ID на SIDSDK_CORE и SIDSDK_ELK переводит старую монолитную библиотеку на архитектуру, которую Сбер описывает в актуальной документации. SIDSDK_CORE содержит базовую авторизацию, инициализацию, настройки и SIDButton. SIDSDK_ELK подключает Единый личный кабинет, функции AppToken и связанные события.

Зависимость SIDSDK заменяется отдельными Gradle-модулями, а импорты получают пространства sid.sdk.core.*, sid.sdk.elk.* и sid.sdk.app_token.*. Инициализация SID остаётся в CORE, однако параметры partnerName и partnerProfileUrl удалены из setMainSettings; профиль для ЕЛК задаётся через SID.ELK.setProfileUrl.

Единый SIDPreferences разделён на SIDPreferencesCore и SIDPreferencesELK, CustomFonts заменён профильными классами шрифтов. Для интерфейса ЕЛК вместо ELKBlockFragment и ELKScreen используются ELKContainerView в XML либо ELKContainer в Compose. Общая подписка subscribeForEvents разделяется на обработчики авторизации, ЕЛК и AppToken, а WebViewReject получает актуальное имя WebAuthReject.

Мы обновляем эти точки в коде и проверяем весь маршрут пользователя: кнопка, переход в Сбер ID, возврат по redirect URI, получение результата, повторный вход, выход и отображение ЕЛК. Команда получает собираемый проект, предсказуемые события и карту замен для дальнейшей поддержки.

Срок: 10 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

  • В Gradle подключён io.github.sid-sdk:SIDSDK, а импорты начинаются со старых пакетов sid.sdk без core или elk.
  • После замены зависимости проект теряет SIDPreferences, CustomFonts, ELKBlockFragment, ELKScreen или subscribeForEvents.
  • Приложение использует ЕЛК Lite, AppToken, партнёрский профиль либо кастомный интерфейс Сбер ID.
  • Авторизация собирается, однако возврат, событие отказа, повторный вход или контейнер ЕЛК работают иначе.

Что именно мы сделаем

01

Находим зависимость SIDSDK, старые импорты, настройки, экраны XML или Compose, события, ЕЛК и AppToken.

02

Определяем нужные модули: SIDSDK_CORE для авторизации и SIDSDK_ELK для ЕЛК, AppToken и связанных функций.

03

Обновляем Gradle, setMainSettings, UI preferences, SIDButton, контейнеры ЕЛК, методы входа и обработчики событий.

04

Собираем приложение и проходим вход, возврат по deep link, повторную авторизацию, выход и выбранные сценарии ЕЛК.

05

Готовим релизную сборку и передаём карту классов, настроек, событий и результаты контрольных сценариев.

Что входит в стоимость

69 900 ₽ за всю работу

Разбираем подключение монолитного SIDSDK, экраны авторизации, XML или Compose, ЕЛК, AppToken и подписки на события. Переводим Gradle и импорты на SIDSDK_CORE и нужный модуль SIDSDK_ELK, обновляем setMainSettings, UI preferences, SIDButton, контейнеры и методы событий. Проверяем deep link, code flow, возврат, повторный вход и выпуск сборки, затем передаём карту замен и протокол сценариев.

Что будет готово

Материалы

Передадим вам

  • Собираемое Android-приложение с SIDSDK_CORE и подключённым по функциям SIDSDK_ELK.
  • Обновлённые настройки, UI-компоненты, контейнеры ЕЛК, обработчики событий и AppToken.
  • Карта соответствий зависимостей, импортов, классов, методов и параметров старой и новой архитектуры.
  • Протокол авторизации и ЕЛК на выбранных стендах и инструкция выпуска сборки.
Проверка

Перед сдачей проверим

  • Проект проходит чистую debug- и release-сборку с выбранными версиями SIDSDK_CORE и SIDSDK_ELK.
  • Кнопка Сбер ID запускает авторизацию, redirect URI возвращает результат, а приложение открывает ожидаемый экран пользователя.
  • Отмена, повторный вход и logout дают ожидаемые события через отдельные обработчики CORE и ELK.
  • Контейнер ЕЛК и AppToken проходят выбранные сценарии на стенде, если эти функции используются приложением.

Как это выглядит на практике

Схема миграции Android-приложения Сбер ID с SIDSDK на модули CORE и ELK

Пользователь входит по Сбер ID и возвращается в приложение

  1. 01

    SIDButton из SIDSDK_CORE создаёт запрос авторизации с настройками clientID, userID и выбранного стенда.

  2. 02

    Пользователь проходит вход, а redirect URI возвращает управление в нужную Activity приложения.

  3. 03

    subscribeForAuthEvents получает актуальное событие, после чего приложение завершает собственную сессию пользователя.

  4. 04

    Экран ЕЛК отображается через ELKContainer, а события и AppToken обрабатывает SIDSDK_ELK.

Что понадобится для работы

От вас

  • Исходный код Android-приложения, Gradle-конфигурация, версии Kotlin или Java и инструкция сборки.
  • Параметры Сбер ID для тестового и рабочего стенда: clientID, redirect URI, userID и разрешённые сценарии.
  • Перечень экранов XML или Compose, настроек темы, ЕЛК, AppToken и событий, используемых приложением.
  • Контрольные аккаунты и ожидаемые маршруты первого входа, отмены, повторной авторизации и выхода.

Если у вас немного другая ситуация

Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.

Стоимость работ 69 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 66 900 ₽после выполнения, демонстрации и приёмки результата

Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.

Часто спрашивают

Об этой услуге

Зачем SIDSDK разделён на CORE и ELK?

SIDSDK_CORE сосредоточен на базовой авторизации и кнопке входа, а SIDSDK_ELK содержит Единый личный кабинет, AppToken и связанные события.

Всегда ли приложению нужен SIDSDK_ELK?

Приложению только с базовой авторизацией достаточно SIDSDK_CORE. ЕЛК, AppToken и reLoginAuthELKLite требуют подключения SIDSDK_ELK.

Меняется ли инициализация Сбер ID?

Вызов SID.initialize.initialize сохраняется и находится в CORE. Основные изменения затрагивают зависимости, импорты, настройки, UI-компоненты и события.

Что происходит с partnerProfileUrl?

Параметр убран из setMainSettings. Для приложения с ЕЛК URL профиля задаётся отдельным вызовом SID.ELK.setProfileUrl в модуле ELK.

Чем заменить ELKBlockFragment и ELKScreen?

Для XML используется ELKContainerView, для Jetpack Compose — ELKContainer. Переносим containerName, containerVersion и параметры оформления.

Как меняется подписка на события SDK?

Единый subscribeForEvents разделяется на subscribeForAuthEvents, subscribeForELKEvents и subscribeForAppTokenEvents, поэтому каждый экран получает свой тип события.

Можно сохранить текущий внешний вид кнопки и ЕЛК?

Сохраняем выбранную тему через SIDPreferencesCore и SIDPreferencesELK. Отдельно проверяем цвета, шрифты, тёмный режим и контейнер в реальной сборке.

Как принимается миграция Android SDK Сбер ID?

Проверяем чистую сборку, первый вход, отмену, redirect URI, повторный вход, logout, события и используемые функции ЕЛК и AppToken на выбранном стенде.

Цена и изменения по ходу работы

Цена на странице окончательная?

Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.

Что означает резерв незапланированных работ?

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

Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.

Можно уточнять детали уже во время работы?

Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.

Начало работы и оплата

Как оформляются договор и оплата?

Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.

Когда начинается срок выполнения?

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

Как учитываются платные лицензии и внешние сервисы?

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

Проверка результата и гарантия

Как принимается готовая работа?

Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.

Какая гарантия действует после сдачи?

На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.

Следующий шаг

Опишите задачу

Опишите задачу и желаемый результат. Можно указать сайт, CMS, 1С, CRM, ERP или другую систему — разберёмся в ситуации и предложим подходящий следующий шаг.

Для безопасности не отправляйте в заявке пароли, коды доступа, токены, паспортные и медицинские данные.