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

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

MarkdownChatGPTClaude

На этой странице собраны наиболее важные рекомендации по интеграции и сопровождению 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 и конфигурации окружения настроены правильно
  • План отката определён и протестирован
  • Протокол сбора логов готов
  • Процедуры подачи заявок в поддержку задокументированы для обработки сбоев
  • Все проверки прошли успешно в тестовой среде