---
title: Лучшие практики
description: Рекомендации по интеграции, обновлению, тестированию и безопасному выпуску SDK Unico, включая правила безопасности тестовой среды (UAT).
canonical: https://developer.unico.io/ru/developers/sdks-and-tools/best-practices-for-sdk-implementation
locale: ru
generated_by: markdown-export
---

- [/ru/](/ru/)
- [SDK и инструменты](/ru/developers/sdks-and-tools/overview)
- Лучшие практики

**На этой странице# Лучшие практики

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

Начните с референс-приложения
Unico предоставляет референс-приложение для каждого SDK в репозитории [reference-apps](https://github.com/unico-labs/reference-apps). Каждое приложение реализует полный пользовательский путь.
Всегда обновляйте SDK
SDK постоянно развивается для обеспечения большей безопасности и новых функций. Своевременное применение обновлений — особенно критических — является обязательным. Сроки и обязательства описаны в разделе [Политика обновлений](/ru/developers/sdks-and-tools/update-policy).
Определяйте последнюю доступную версию
Актуальную версию для каждой платформы можно найти в соответствующих примечаниях к выпускам:

[Примечания к выпускам Android](/ru/developers/sdks-and-tools/android/resources/release-notes)
[Примечания к выпускам iOS](/ru/developers/sdks-and-tools/ios/resources/release-notes)
[Примечания к выпускам Flutter](/ru/developers/sdks-and-tools/flutter/resources/release-notes)
[Web — примечания к выпускам Journeys SDK](/ru/developers/sdks-and-tools/web/resources/release-notes)

### Update strategy​

Не обновляйте SDK и другие компоненты одновременно
Ваше приложение, скорее всего, загружает несколько библиотек вместе с SDK Unico. Одновременно е обновление нескольких зависимостей затрудняет выявление первопричины сбоев. Обновляйте SDK изолированно и проверяйте его в [тестовой среде](#perform-tests-in-unicos-staging-environment) перед объединением с другими изменениями.
Получение помощи при обновлении SDK
При открытии заявки в поддержку по вопросам обновления укажите:

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

### JWT security​

Не изменяйте объект JWT
Не открывайте и не изменяйте зашифрованный JWTJWT, возвращаемый после успешного захвата, является **за шифрованным**. Не открывайте, не разбирайте и не сериализуйте его. Его внутренняя структура может измениться без предупреждения. Используйте его исключительно при отправке изображений в 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 и конфигурации для тестовой среды — никогда не используйте продакшн-учётные данные в тестах.
Тестовая среда (UAT) IDCloud применяет **те же критерии безопасности, что и продакшн**. Приведённые ниже рекомендации объясняют, почему это так и как тестировать без сбоев.
Что изменилось в тестовой среде
**Раньше — обнаруживала, но не отклоняла**
Условия, выходящие за рамки реального использования, определялись, но не препятствовали захвату.
**Теперь — обнаруживает и отклоняет**
Те же условия теперь приводят к отказу в подтверждении живости с той же строгостью, что и в продакшене.
Почему существует это ограничение
**Достоверность — схожесть с продакшеном**
То, что проходит в тестовой среде, должно работать так же в продакшене — это исключает ситуацию, когда интеграция, одобренная на тестах, неожиданно падает после go-live.
Что можно и что нельзя делать
При тестировании в условиях, близких к реальному использованию, уровни безопасности не влияют на вашу разработку.
Инструменты разработки, не являющиеся стандартными для рынка, запускают проверки безопасности, и транзакция может быть заблокирована.
СценарийСтатусПолный поток интеграции — захват, отправка, ответ API и возврат✅ МожноФункциональные сценарии: UI/UX, производительность, бизнес-ошибки✅ МожноУстройство в стандартной конфигурации конечного пользователя✅ МожноИнтеграция с бэкендом, API и обработкой данных✅ МожноУстройство с root/jailbreak❌ НельзяАктивный режим отладки / отладка по USB❌ НельзяЭмуляторы или виртуализация❌ НельзяВиртуальные камеры или инструменты автоматизации захвата❌ НельзяИнструменты, изменяющие соединение❌ НельзяКорпоративный MDM или активный мониторинг на устройстве❌ НельзяПесочница в контейнере или вирт уальной машине❌ Нельзя
Любое из этих условий может привести к отказу в подтверждении живости.
Ваш цикл QA зависит от одного из этих условий?Обратитесь в [службу поддержки](https://business.unico.io/hc/) за рекомендациями по настройке вашей среды. Исключений, разовых разрешений или временных послаблений не предусмотрено — Unico сохраняет тестовую среду равной продакшену столько, сколько считает необходимым.
### 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 в два отдельных этапа:

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

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

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

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