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

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


Доступность SDK

Для биометрического согласия нужен нативный SDK версии 4.10.0 или новее. Для пользователей, на которых распространяются законы штатов Иллинойс, Техас или Колорадо, Didit может запросить явное биометрическое согласие перед первым снимком лица. Размещённый сценарий (Web SDK, WebView, браузер) и нативные SDK для iOS и Android версии 4.10.0 или новее показывают этот шаг; React Native и Flutter показывают его в релизе, который закрепляет нативный SDK версии 4.10.0 или новее. Нативный SDK ниже 4.10.0 или SDK, который не сообщает свою версию, этот шаг показать не может: его сессии выполняются как прежде, а решение возвращает biometric_consent.status: "pending" с reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK". Если вы верифицируете пользователей в этих штатах, обновите SDK.

Что нового в 4.13.2

На iOS запрос фото с камеры, которая открывается, но не выдаёт кадров, больше не приводит к сбою приложения: каждый запрос фото сначала проверяет наличие работающей камеры с активным видеоподключением, и вместо этого экран показывает ошибку камеры или пропуск шага. На Android на шаге селфи для поиска по ID запрос фото с камеры, которая не выдаёт кадров, завершается ошибкой камеры на экране через 5 секунд вместо бесконечного ожидания. На приветственном экране, пока список шагов продолжается под нижним затемнением, круглая кнопка «Прокрутить вниз» располагается по горизонтали по центру списка (в том числе в языках с написанием справа налево), как в веб-сценарии. Нажатие прокручивает список вниз, а кнопка скрывается в конце списка и при открытом модальном окне. Android 4.13.1 был промежуточным релизом только с кнопкой «Прокрутить вниз»; 4.13.2 переносит её на iOS, React Native и Flutter. React Native 4.13.2 также исправляет сбой при запуске в релизных сборках Android, минифицированных с помощью R8 и proguard-android-optimize.txt: пакет теперь поставляется со своими правилами R8. Flutter 4.13.2 также собирается с Android Gradle Plugin 9 и встроенным Kotlin.

Что нового в 4.13.0

На шаге телефона каждый номер с кодом +1 (США и Канада) показывает под кнопкой «Отправить код» краткое предупреждение о тарифах оператора («Могут взиматься стандартные тарифы за сообщения и передачу данных») со ссылками на Условия SMS и Политику конфиденциальности на языке пользователя. Овал для селфи теперь помещается над своими элементами управления на небольших экранах, а зелёная кнопка «Готово», «Понятно» после фото документа и экран «Селфи снято» удалены: снятое фото сразу переходит к обработке. Когда съёмка документа служит только запасным вариантом, а первым предлагается цифровой ID-кошелёк, стартовый экран кошелька предлагает только сам кошелёк, а повторная попытка с кошельком оставляет верификацию открытой без ссылки на документ. Флаг отображается для каждого кода страны, на который Didit может отправить сообщение, и всегда соответствует стране. Сценарий песочницы, включённый для сессии, которая уже началась, теперь показывает причину вместо общей ошибки. На Android кошелёк Credential Manager называется «Подтвердить с помощью цифрового удостоверения личности», поскольку на этот запрос может ответить Google Wallet или любой другой Android-кошелёк, содержащий совместимый ID. iOS этот способ не предлагает.

Что нового в 4.12.2

На приветственном экране логотип центрирован над заголовком, выровненным по левому краю, а на iOS логотип клиента отображается высотой 72 pt, как на Android и в вебе. На шаге ключевых лиц KYB кнопка «Добавить представителя» открывает форму с выбранной ролью представителя и сохраняет человека в списке представителей, даже если сценарий отключает некоторые роли. В анкетах надпись «Защищено» остаётся закреплённой под кнопкой на небольших экранах и при крупном шрифте, для выбора страны в вопросе об адресе используется заголовок, соответствующий адресу, а у открытого выпадающего списка скругляются углы, как у полей.

Что нового в 4.12.1

На iPhone с заполненным хранилищем съёмка документа и селфи теперь сохраняет видео: iOS SDK записывает их в памяти и никогда не загружает запись без видеокадров. Ответ сервера, который отстаёт от более раннего ответа, больше не возвращает к шагу, на который только что ответили (NFC, селфи или документ), на iOS и Android.

Что нового в 4.12.0

Логотипы для всех цифровых ID-кошельков, которые показывает веб-сценарий (Mobile-ID, ConnectID, Finnish Trust Network, OneID, Bank iD, MojeID, FranceConnect, Auðkenni, эстонская ID-карта и GOV.UK Wallet), на той же белой или чёрной подложке, что и в вебе. Подсказки при съёмке говорят, что делать, если автосъёмка не работает; юридическая формулировка на приветственном экране остаётся закреплённой при крупном размере текста; а отклонённый запуск сессии больше не предлагает повторную попытку, которая не сработает. У камер документа и селфи есть кнопка «Переключить камеру» рядом с затвором, а «Загрузить» перенесена в «Советы», и ничего не снимается автоматически, пока над камерой открыто модальное окно. На Android в окне «Выбрать камеру» камеры называются «Передняя камера» и «Задняя камера» на всех языках.

Что нового в 4.11.0

Версия 4.11.0 также включает всё, что планировалось для 4.10.0, которая так и не была опубликована, поэтому обновляйтесь сразу с 4.9.1. В сценарии обновлена оболочка: новая верхняя панель, текстовое отображение прогресса и переработанный приветственный экран. Автоматическая съёмка документа и селфи теперь доступна во всех вариантах и работает на собственных легковесных детекторах Didit, поэтому варианты Core и AutoDetection снимают одинаково. Вариант AutoDetection и артефакт Android didit-sdk-autodetection устарели и идентичны Core, а артефакт Android didit-sdk-autodetection-play больше не публикуется. Новые шаги: банковская верификация, геолокация (включается с согласия пользователя через варианты iOS Core-Location, NFC-Location и All-Location), электронная подпись и биометрическое согласие.

Что нового в 4.9.1

Селекторы страны для документов и подтверждения адреса теперь открываются с учётом страны, определённой по IP-адресу пользователя, на iOS и Android. Это работает, даже если определение завершается уже после появления экрана. Страна, заданная в сессии, или страна, которую выбрал пользователь, никогда не переопределяется. На Android заголовок раздела анкеты и её поля отображаются на языке SDK, а сканирование паспорта по NFC больше не вызывает сбой в полной версии. Тексты верификации на русском и киргизском языках улучшены на обеих платформах.

Что нового в 4.9.0

Все нативные и кроссплатформенные мобильные SDK теперь предлагают необязательный выбор языка на приветственном экране верификации. Установите showLanguageSelector в true, чтобы показать компактный селектор с поиском, который используется и в веб-потоке верификации. Селектор по умолчанию скрыт, поэтому существующие интеграции сохраняют текущее поведение, пока вы не включите его.

Альтернатива: если нативный SDK пока недоступен для вашей платформы, вы можете использовать интеграцию WebView в качестве запасного варианта.


Как проходит сессия верификации

Каждый нативный SDK работает с одной и той же сессией верификации Didit. Процесс выглядит так:
  1. Ваш сервер вызывает POST /v3/session/, передавая workflow_id и любой необязательный дополнительный контекст (vendor_data, contact_details, expected_details, metadata, callback).
  2. Didit возвращает session_id, короткоживущий session_token и URL размещённой страницы (url).
  3. Ваше мобильное приложение получает session_token от вашего сервера и передаёт его в SDK (startVerification(token: …)).
  4. Нативный SDK открывает интерфейс верификации, пользователь проходит шаги, и SDK возвращает результат с итоговым status сессии (Approved, Declined, In Review и т. д.).
  5. Ваш сервер получает полное решение через webhook (webhook_type: "status.updated") и сохраняет его.
Результат SDK показывает итог сценария (статус). Полное решение (поля документа, оценки сравнения лиц, срабатывания AML, данные NFC, предупреждения) передаётся на ваш сервер через webhook и также может быть получено через endpoint Получение решения по сессии. Никогда не полагайтесь только на результат на стороне клиента при принятии решений об авторизации.
Все нативные SDK также поддерживают режим UniLink (нужен только ID сценария, бэкенд не требуется). Используйте UniLink для быстрых прототипов, а метод с токеном сессии для продакшена.

iOS SDK

Когда использовать: нативные приложения на Swift / SwiftUI / UIKit для iOS 13+. Легковесный iOS SDK, управляемый сервером, для верификации личности с минимальной настройкой.

Репозиторий на GitHub

Исходный код и примеры на GitHub
Ключевые возможности:
  • Поддержка SwiftUI и UIKit
  • Считывание NFC-паспортов и ID-карт (iOS 15+; варианты без NFC, Core и AutoDetection, убирают NFC и OpenSSL и работают на iOS 13+)
  • Поддержка 54 языков
  • Настраиваемое оформление интерфейса
  • Интеграция по токену сессии или ID сценария
Быстрый старт:
→ Полная документация по iOS SDK

Android SDK

Когда использовать: нативные приложения на Kotlin / Jetpack Compose / Java для Android 6.0 (API 23) и выше. Легковесный серверно управляемый Android SDK для верификации личности с минимальной настройкой.

Репозиторий на GitHub

Исходный код и примеры на GitHub
Ключевые возможности:
  • Поддержка Kotlin и Jetpack Compose
  • Считывание NFC-паспортов и ID-карт (опциональный артефакт me.didit:didit-sdk-core убирает зависимости NFC)
  • Автоматическое обнаружение документов и лиц на основе ML на API 24+ (на API 23 используется ручной захват как резервный вариант)
  • Поддержка 54 языков
  • Настраиваемое оформление интерфейса
  • Интеграция по токену сессии или ID сценария
Быстрый старт:
→ Полная документация по Android SDK

React Native SDK

Когда использовать: кроссплатформенные приложения на React Native или Expo, которым нужен единый TypeScript API для iOS и Android (RN 0.76+, New Architecture). Кроссплатформенный SDK для React Native, который оборачивает нативные SDK для iOS и Android в единый TypeScript API.

Репозиторий на GitHub

Исходный код и примеры на GitHub
Ключевые возможности:
  • Единый TypeScript API для iOS и Android
  • Поддержка Expo с плагином конфигурации без ручной настройки (нужна сборка для разработки, Expo Go не подходит)
  • Поддержка React Native CLI
  • Считывание NFC-паспортов и ID-карт (отключается через DIDIT_SDK_IOS_NFC_ENABLED=false / diditSdkAndroidNfcEnabled=false)
  • Поддержка 54 языков (наследуется от нативных SDK)
  • Интеграция по токену сессии или ID сценария
Быстрый старт:
→ Полная документация по React Native SDK

Flutter SDK

Когда использовать: кроссплатформенные приложения на Flutter, которым нужен единый Dart API для iOS и Android (Flutter 3.3+, Dart 3.11+). Кроссплатформенный Flutter SDK, который оборачивает нативные SDK для iOS и Android в единый Dart API.

Пакет pub.dev

Посмотреть пакет на pub.dev
Ключевые возможности:
  • Единый Dart API для iOS и Android
  • Интеграция с нативными SDK через платформенный канал
  • Считывание NFC-паспортов и ID-карт (отключается через DIDIT_SDK_IOS_NFC_ENABLED=false / diditSdkAndroidNfcEnabled=false)
  • Поддержка 54 языков (наследуется от нативных SDK)
  • Интеграция по токену сессии или ID сценария
Быстрый старт:
→ Полная документация по Flutter SDK

Web SDK (JavaScript)

Когда использовать: браузерные приложения и веб-фреймворки (React, Vue, Angular, Next.js, Nuxt, Svelte, vanilla JS). Web SDK открывает размещённый процесс верификации в модальном окне или во встроенном iframe. Для мобильных приложений лучше использовать указанные выше нативные SDK. JavaScript SDK для веб-приложений с поддержкой React, Vue, Angular, Next.js, Nuxt, Svelte и vanilla JS.

Пакет NPM

Посмотреть пакет на npm
Ключевые возможности:
  • Программное управление сессиями и обработка событий через обратные вызовы
  • Поддержка React, Vue, Angular, Next.js, Nuxt, Svelte и vanilla JS
  • Полная поддержка TypeScript
  • Модальный и встроенный режимы
  • Управление состоянием для пользовательского интерфейса
Быстрый старт:
→ Полная документация по JavaScript SDK | Все Web SDK

Выбор интеграции

Нативные SDK лучше всего подходят, когда нужно считывание NFC-электронных паспортов, захват с камеры с минимальной задержкой и взаимодействие внутри приложения, неотличимое от взаимодействия с другими нативными экранами. Используйте WebView Integration как запасной вариант, если вы не можете выпустить обновление нативного SDK (например, для приложений с существующей кодовой базой, которые нельзя пересобрать, или для платформ без нативного SDK Didit).
Последнее изменение 7 ноября 2026 г.