Интеграция All-in-One
AIBudsSDK/AllInOne — удобный вариант для продуктов, которым нужен полный набор SDK. Одна зависимость подключает базовую поддержку устройств, ABMate, плагины OTA FitCloud Pro и Jieli, журналирование, поставщиков AI-сервисов и панель AI Dashboard, авторизацию локального голосового помощника, сбор отчётов о сбоях, middleware для прямых трансляций, аудиозависимости и стабилизацию видео.
Код установки и инициализации приведён в разделах «Установка» и «Быстрый старт». Здесь рассматриваются архитектурные последствия такого выбора.
Единая инициализация набора SDK
All-in-One выбирает встроенные реализации, последовательно инициализирует Core и AI, а затем запускает общую координацию аудиосессии.
Что выполняет инициализация
AIBudsAllInOneSDK.initialize выполняет согласованную настройку, а не просто передаёт вызов в Core:
- Настраивает плагин журналирования XLFacility.
- Регистрирует мосты авторизации устройств StarBurst и MLTCloud.
- Регистрирует мост авторизации локального голосового помощника.
- Регистрирует встроенный плагин стабилизации видео.
- Регистрирует встроенные плагины протоколов OTA FitCloud Pro и Jieli.
- Инициализирует
AIBudsSDKсABMateSDK, переданной конфигурацией Core и делегатом. - Инициализирует
AIBudsAISDKвстроенными реализациями поставщиков StarBurst и MLTCloud. - После успешной инициализации запускает общий координатор аудиосессии.
Установка Crash Reporter и запуск AI Dashboard остаются явными операциями: модули включены в зависимость, но initialize не активирует их автоматически.
Когда подходит All-in-One
- Продукт использует большинство групп возможностей SDK.
- Быстрая интеграция и согласованный набор стандартных плагинов важнее контроля размера приложения.
- Встроенные поставщики AI-сервисов и реализация стабилизации соответствуют политике продукта.
- Единый владелец на уровне приложения может управлять глобальным журналированием и аудиосессией.
Когда лучше модульная интеграция
- Нужна лишь небольшая часть функций устройства.
- Приложение использует собственный AI-стек или дополнительные медиапроцессоры.
- Требуется строгий контроль размера, транзитивных сторонних зависимостей или побочных эффектов запуска.
- Приложение уже реализует собственную сложную политику аудиосессии.
- Политика безопасности запрещает диагностические серверы или сбор отчётов о сбоях в целевой сборке.
Не допускайте повторной инициализации
После успешного запуска All-in-One не инициализируйте отдельно AIBudsSDK или AIBudsAISDK и не регистрируйте альтернативные реализации уже выбранных плагинов. Код функций должен использовать готовый набор, а не создавать ещё одного глобального владельца.
Если инициализация возвращает false, не запускайте функции. Проверьте журналы и устраните ошибку этапа Core или AI: публичное возвращаемое значение не указывает, какая зависимость завершилась сбоем.
Для дополнительных компонентов нужна отдельная политика
- Устанавливайте Crash Reporter на раннем этапе только после определения согласия, хранения и отправки отчётов.
- Запускайте AI Dashboard только в контролируемых диагностических сборках и сетях.
- Используйте прямые трансляции, только если приложение управляет очисткой плеера и стримера.
- Сохраняйте резервный исходный файл и политику хранения стабилизации, даже если плагин уже зарегистрирован.
Контрольный список внедрения
- Продукт осознанно принимает все зависимости All-in-One.
- Инициализация выполняется один раз владельцем на уровне приложения.
- Конфигурация Core и делегат подготовлены до инициализации.
- Поведение аудиосессии совместимо с приложением.
- Crash Reporter и AI Dashboard включаются только согласно отдельным политикам.
- Core, AI и плагины не инициализируются повторно.
- Для будущего перехода на модульную интеграцию назначен ответственный и подготовлен план регрессионной проверки.