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

Настройка

Перед использованием соответствующих возможностей SDK настройте журналирование, поиск по Bluetooth, подключение устройств и AI-сервисы.

Основные настройки

Уровень журналирования

Задайте уровень журналирования в конфигурации, передаваемой при инициализации SDK.

Swift
let sdkConfiguration = SDKConfiguration.default()

// Default: .info
// All-in-One uses .verbose only when it creates this configuration for you.
sdkConfiguration.logLevel = .info

let initialized = AIBudsAllInOneSDK.initialize(
    configuration: sdkConfiguration,
    delegate: self
)

guard initialized else {
    print("AIBuds SDK initialization failed.")
    return
}

// Log levels, from most to least verbose:
// .verbose, .debug, .info, .warn, .error, .fatal, .mute

// Modular installation:
// AIBudsSDK.initialize(appDelegate, configuration: sdkConfiguration, delegate: self)

Последовательность модульной инициализации приведена в разделе Быстрый старт.

Назначение журнала

Выберите назначение журнала в общей конфигурации LogConfiguration.

Swift
let logConfig = LogConfiguration.shared

// Default: .xlfacility
logConfig.destination = .console

// Available destinations:
// .console    — Xcode debugger console
// .oslogger   — Unified logging through os_log
// .file       — SDK-managed files on disk
// .xlfacility — XLFacility plugin

// All-in-One installs the XLFacility plugin automatically.
// Modular integrations must install AIBudsSDK/Log/XLFacility explicitly.

Хранение, экспорт и очистка описаны в разделе Обзор журналирования.

Дополнительные настройки

Настройка Bluetooth

Тайм-аут поиска

Укажите стандартный тайм-аут до инициализации либо переопределите его для отдельного поиска.

Swift
// Defaults:
// scanTimeoutInSeconds = 10; use 0 for no automatic timeout.
// shouldAutoReconnectWhenAppLaunch = false
// onlyDiscoverKnownDevices = true
let sdkConfiguration = SDKConfiguration.default()
sdkConfiguration.scanTimeoutInSeconds = 15

// 15 overrides the initialized configuration for this scan only.
AIBudsSDK.startScanning(
    NSNumber(value: 15),
    deviceFoundHandler: { device, isExistingDevice in
        // isExistingDevice is true when an existing result was updated.
    },
    completion: {
        // Called when scanning stops.
    }
)

// Use the timeout supplied during SDK initialization.
AIBudsSDK.startScanning(nil)

Параметры подключения

Параметры конкретного подключения передаются через ConnectParams.

Swift
let params = ConnectParams()
params.userId = currentUserId  // Only when required by the integration.
params.randomCode = devicePairingCode  // Only when required by the device.
params.enableClassicBT = true  // Default: true; false enables BLE-only use.
params.aiAuthParams = aiAuthParams  // Only when required by the AI provider.

device.connect(params)

Настройка AI

Установите, зарегистрируйте и инициализируйте AI-сервис, затем выберите его для использования.

Swift
// 1. Install the provider module.
// 2. Register and initialize the provider with AIBudsAISDK.
// 3. Select the registered provider.
AIBudsAISDK.setAIServiceVendor(.starBurst)

// Other public values:
// .mltcloud
// .none       // No provider is selected.

Полная настройка приведена в разделе Выбор AI-сервиса.

Что дальше

После настройки перейдите к Основным понятиям. Термины собраны в Глоссарии SDK, возможности — в разделе Основные функции, а проблемы инициализации, поиска, подключения и выбора AI-сервиса — в разделе Частые проблемы.