Авторизация локального голосового помощника
Необязательный модуль AIBudsVoiceAssistant авторизует поддерживаемое устройство для локального голосового помощника. Этот мост авторизации не связан с выбором отключённого, базового или расширенного режима в разделе «Голосовой помощник».
Авторизация локального помощника
Core запускает зарегистрированный плагин только тогда, когда подключённому поддерживаемому устройству требуется авторизация.
Процесс авторизации
Реализация устройства в Core определяет, когда нужна авторизация. Зарегистрированный OnDeviceVoiceAssistantBridgePlugin обменивается непрозрачными данными через OnDeviceVoiceAssistantDevice. Приложение наблюдает итоговый результат и не должно разбирать, сохранять или изменять содержимое обмена.
Реализация с помощью AI
Реализуйте этот сценарий с AI
Используйте официальный навык «Управление голосовым помощником AIBuds» и адаптируйте сценарий к приложению.
Прочитайте и выполните инструкции https://docs-aibuds.github.io/ru/skills/manage-aibuds-on-device-voice-assistant. Используйте этот навык, чтобы реализовать «Управление голосовым помощником AIBuds» в данном iOS-проекте и проверить результат.Ответственность за регистрацию
AIBudsAllInOneSDK.initialize регистрирует OnDeviceVoiceAssistantPlugin.shared. При модульной интеграции подключите AIBudsVoiceAssistant и зарегистрируйте мост до подключения устройства. Регистрацией должен управлять тот же владелец уровня приложения, что и инициализацией Core.
Публичного API «авторизовать сейчас» нет. Авторизация запускается в процессе подключения поддерживаемого устройства, когда SDK определяет её необходимость.
Обработка итогового результата
Реализуйте callback делегата SDK или устройства:
- Swift
- Objective-C
func device(
_ device: DeviceConvertible,
didReceiveOnDeviceVoiceAssistantAuthResult isSuccess: Bool,
error: NSError?
) {
// Update product state on the main queue.
}- (void)device:(id<AIBudsDeviceConvertible>)device
didReceiveOnDeviceVoiceAssistantAuthResult:(BOOL)isSuccess
error:(NSError *_Nullable)error {
// Update product state on the main queue.
}Этот callback — итоговый сигнал для приложения. Успешная отправка данных через мост означает лишь прогресс передачи, но не успешную авторизацию.
Порядок и повторная попытка
Если устройству нужен ещё один мост AI-авторизации, SDK может начать авторизацию локального помощника после предыдущего результата. Не запускайте конкурирующую попытку из кода интерфейса.
Текущий публичный контракт не определяет API ручного повтора, тайм-аут, срок сохранения авторизации или полную таблицу восстановления по ошибкам. При сбое сохраните ошибку для диагностики, не включайте режимы помощника, если политика требует авторизации, а следующую попытку выполняйте только через документированное переподключение или будущий механизм SDK.
Границы безопасности
- Считайте данные моста непрозрачным материалом учётных данных.
- Не записывайте в production байты данных, идентификатор устройства или производные секреты.
- Не кэшируйте и не воспроизводите пакеты моста.
- Используйте совместимые версии плагина и его криптографической зависимости.
- Показывайте пользователю только ошибки, требующие действий; подробности храните в защищённой диагностике.
Контрольный список
- Плагин моста зарегистрирован до подключения устройства.
- Регистрация All-in-One и модульная регистрация не смешиваются.
- Интерфейс ожидает итоговый callback делегата.
- Приложение не разбирает и не сохраняет пакеты моста.
- Ошибка не приводит к скрытому включению режима, требующего авторизации.
- Поведение при отключении и повторном подключении проверено для каждого семейства устройств.