Перейти к основному содержимому

Лучшие практики внедрения SDK

На этой странице собраны наиболее важные рекомендации по интеграции и сопровождению SDK Unico. Соблюдение этих практик снижает количество ошибок интеграции, предотвращает инциденты безопасности и обеспечивает плавный выход в продакшн.

Getting started

Используйте PoC для облегчения внедрения

Unico предоставляет Proof of Concept (PoC) с рабочими примерами кода для всех поддерживаемых языков программирования. Они демонстрируют ожидаемые последовательности вызовов методов и паттерны интеграции. Доступ к доступным PoC осуществляется через систему заявок в поддержку на клиентском портале.

Всегда обновляйте SDK

SDK постоянно развивается для обеспечения большей безопасности и новых функций. Своевременное применение обновлений — особенно критических — является обязательным. Сроки и обязательства описаны в разделе Политика обновлений.

Определяйте последнюю доступную версию

Актуальную версию для каждой платформы можно найти в соответствующих примечаниях к выпускам:

Update strategy

Не обновляйте SDK и другие компоненты одновременно

Ваше приложение, скорее всего, загружает несколько библиотек вместе с SDK Unico. Одновременное обновление нескольких зависимостей затрудняет выявление первопричины сбоев. Обновляйте SDK изолированно и проверяйте его в тестовой среде перед объединением с другими изменениями.

Получение помощи при обновлении SDK

При открытии заявки в поддержку по вопросам обновления укажите:

  • Язык SDK и тип реализации (нативный или гибридный)
  • Используемый фреймворк
  • Текущую версию и целевую версию
  • API Key
  • Описание изменений и шаги для воспроизведения проблемы
  • Результаты, ошибки, логи, скриншоты или видеозаписи

JWT security

Не изменяйте объект JWT
Не открывайте и не изменяйте зашифрованный JWT

JWT, возвращаемый после успешного захвата, является зашифрованным. Не открывайте, не разбирайте и не сериализуйте его. Его внутренняя структура может измениться без предупреждения. Используйте его исключительно при отправке изображений в API Unico.

Для предварительного просмотра изображений используйте атрибут Base64, предоставляемый вместе с JWT — никогда не декодируйте сам JWT.

Отправляйте JWT в течение 10 минут
предупреждение

По соображениям безопасности JWT должен быть отправлен в бэкенд Unico в течение 10 минут после захвата. Пакеты, отправленные по истечении этого времени, становятся недействительными.

Отправляйте JWT только один раз
предупреждение

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

Testing guidelines

Не используйте виртуализацию или эмуляторы

Запуск SDK на виртуальных машинах или эмуляторах вызывает коды ошибок безопасности (73006, 73600, 73400). Всегда тестируйте на физических устройствах, чтобы избежать неверной интерпретации ошибок и лишней доработки.

Не держите DevTools открытыми во время захвата изображений в Web

Web SDK обнаруживает открытые DevTools как потенциальный сигнал мошенничества и аннулирует отправку. Закрывайте DevTools перед выполнением сквозных тестов захвата.

Выполняйте тесты в тестовой среде Unico

Перед выходом в продакшн проведите тщательное тестирование в тестовой среде Unico с реалистичными сценариями. Используйте API Keys и конфигурации для тестовой среды — никогда не используйте продакшн-учётные данные в тестах.

Platform-specific guidelines

Flutter: используйте плагин Flutter от Unico

Не пытайтесь создавать мосты к нативным Android или iOS SDK внутри Flutter-приложения. Нативные мосты часто порождают неотображаемые ошибки. Всегда используйте специализированный плагин Flutter от Unico.

Web: удаляйте старые файлы ресурсов при обновлении версий

При обновлении Web SDK удалите старые файлы ресурсов из папки public перед добавлением новых. Файлы с одинаковыми именами не будут перезаписаны автоматически и могут вызвать конфликты версий.

Mobile: очищайте кэш перед сборкой новых версий

Артефакты сборки от предыдущих версий SDK могут вызывать ошибки зависимостей после обновления. Перед сборкой новой версии:

  • Flutter: удалите pubspec.lock и выполните flutter pub get
  • iOS: выполните pod cache clean --all и pod install
  • Android: выполните ./gradlew clean
Настройки обфускации

Исключите код SDK Unico из конфигурации обфускации. Обфускация SDK часто вызывает сбои в сборках для выпуска, которые не проявляются в отладочных сборках. Обратитесь к документации для конкретной платформы, чтобы узнать необходимые правила keep.

UX and performance

Разделяйте процесс подготовки и открытия камеры на два шага

Структурируйте поток SDK в два отдельных этапа:

  1. Подготовка — инициализируйте SDK во время загрузки страницы (до взаимодействия с пользователем).
  2. Открытие — запускайте камеру только тогда, когда пользователь явно инициирует это действие.

Подготовка SDK заранее снижает воспринимаемую задержку и значительно улучшает пользовательский опыт.

Production rollout

Создайте безопасный чеклист для выпуска в продакшн

Перед развёртыванием в продакшн убедитесь в следующем:

  • Продакшн API Keys и конфигурации окружения настроены правильно
  • План отката определён и протестирован
  • Протокол сбора логов готов
  • Процедуры подачи заявок в поддержку задокументированы для обработки сбоев
  • Все проверки прошли успешно в тестовой среде