Миграция 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, получение результата, повторный вход, выход и отображение ЕЛК. Команда получает собираемый проект, предсказуемые события и карту замен для дальнейшей поддержки.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- В Gradle подключён io.github.sid-sdk:SIDSDK, а импорты начинаются со старых пакетов sid.sdk без core или elk.
- После замены зависимости проект теряет SIDPreferences, CustomFonts, ELKBlockFragment, ELKScreen или subscribeForEvents.
- Приложение использует ЕЛК Lite, AppToken, партнёрский профиль либо кастомный интерфейс Сбер ID.
- Авторизация собирается, однако возврат, событие отказа, повторный вход или контейнер ЕЛК работают иначе.
Что именно мы сделаем
Находим зависимость SIDSDK, старые импорты, настройки, экраны XML или Compose, события, ЕЛК и AppToken.
Определяем нужные модули: SIDSDK_CORE для авторизации и SIDSDK_ELK для ЕЛК, AppToken и связанных функций.
Обновляем Gradle, setMainSettings, UI preferences, SIDButton, контейнеры ЕЛК, методы входа и обработчики событий.
Собираем приложение и проходим вход, возврат по deep link, повторную авторизацию, выход и выбранные сценарии ЕЛК.
Готовим релизную сборку и передаём карту классов, настроек, событий и результаты контрольных сценариев.
Что входит в стоимость
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 проходят выбранные сценарии на стенде, если эти функции используются приложением.
Как это выглядит на практике
Пользователь входит по Сбер ID и возвращается в приложение
- 01
SIDButton из SIDSDK_CORE создаёт запрос авторизации с настройками clientID, userID и выбранного стенда.
- 02
Пользователь проходит вход, а redirect URI возвращает управление в нужную Activity приложения.
- 03
subscribeForAuthEvents получает актуальное событие, после чего приложение завершает собственную сессию пользователя.
- 04
Экран ЕЛК отображается через ELKContainer, а события и AppToken обрабатывает SIDSDK_ELK.
Что понадобится для работы
От вас
- Исходный код Android-приложения, Gradle-конфигурация, версии Kotlin или Java и инструкция сборки.
- Параметры Сбер ID для тестового и рабочего стенда: clientID, redirect URI, userID и разрешённые сценарии.
- Перечень экранов XML или Compose, настроек темы, ЕЛК, AppToken и событий, используемых приложением.
- Контрольные аккаунты и ожидаемые маршруты первого входа, отмены, повторной авторизации и выхода.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 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 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.
Связанные шаги
- 01Аудит безопасности OAuth 2.0 и OpenID Connect
Проверить безопасность OAuth и OpenID Connect
- 02Миграция Android-приложения Сбер ID на SIDSDK_CORE и SIDSDK_ELK
Перевести Android-приложение на новые модули Сбер ID
- 03Настройка Universal Links и Android App Links
Настроить возврат через Android App Links