Настройка
Перед использованием соответствующих возможностей SDK настройте журналирование, поиск по Bluetooth, подключение устройств и AI-сервисы.
Основные настройки
Уровень журналирования
Задайте уровень журналирования в конфигурации, передаваемой при инициализации SDK.
- Swift
- Objective-C
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)AIBudsSDKConfiguration *sdkConfiguration = [AIBudsSDKConfiguration defaultConfiguration];
// Default: AIBudsLogLevelInfo
// All-in-One uses Verbose only when it creates this configuration for you.
sdkConfiguration.logLevel = AIBudsLogLevelInfo;
BOOL initialized = [AIBudsAllInOneSDK initWithConfiguration:sdkConfiguration delegate:self];
if (!initialized) {
NSLog(@"AIBuds SDK initialization failed.");
return;
}
// Log levels, from most to least verbose:
// Verbose, Debug, Info, Warn, Error, Fatal, and MuteПоследовательность модульной инициализации приведена в разделе Быстрый старт.
Назначение журнала
Выберите назначение журнала в общей конфигурации LogConfiguration.
- Swift
- Objective-C
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.AIBudsLogConfiguration *logConfig = [AIBudsLogConfiguration shared];
// Default: AIBudsLogDestinationXlfacility
logConfig.destination = AIBudsLogDestinationConsole;
// Available destinations:
// Console, Oslogger, File, and Xlfacility
// All-in-One installs the XLFacility plugin automatically.
// Modular integrations must install AIBudsSDK/Log/XLFacility explicitly.Хранение, экспорт и очистка описаны в разделе Обзор журналирования.
Дополнительные настройки
Настройка Bluetooth
Тайм-аут поиска
Укажите стандартный тайм-аут до инициализации либо переопределите его для отдельного поиска.
- Swift
- Objective-C
// 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)// Defaults:
// scanTimeoutInSeconds = 10; use 0 for no automatic timeout.
// shouldAutoReconnectWhenAppLaunch = NO
// onlyDiscoverKnownDevices = YES
AIBudsSDKConfiguration *sdkConfiguration = [AIBudsSDKConfiguration defaultConfiguration];
sdkConfiguration.scanTimeoutInSeconds = 15;
// @15 overrides the initialized configuration for this scan only.
[AIBudsSDK
startScanningWithTimeout:@15
deviceFoundHandler:^(id<AIBudsFoundDeviceConvertible> device, BOOL isExistingDevice) {
// isExistingDevice is YES when an existing result was updated.
}
completion:^{
// Called when scanning stops.
}];
// Use the timeout supplied during SDK initialization.
[AIBudsSDK startScanningWithTimeout:nil deviceFoundHandler:nil completion:nil];Параметры подключения
Параметры конкретного подключения передаются через ConnectParams.
- Swift
- Objective-C
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)AIBudsConnectParams *params = [[AIBudsConnectParams alloc] init];
params.userId = currentUserId; // Only when required by the integration.
params.randomCode = devicePairingCode; // Only when required by the device.
params.enableClassicBT = YES; // Default: YES; NO enables BLE-only use.
params.aiAuthParams = aiAuthParams; // Only when required by the AI provider.
[device connectWithParams:params];Настройка AI
Установите, зарегистрируйте и инициализируйте AI-сервис, затем выберите его для использования.
- Swift
- Objective-C
// 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.// 1. Install the provider module.
// 2. Register and initialize the provider with AIBudsAISDK.
// 3. Select the registered provider.
[AIBudsAISDK setAIServiceVendor:AIBudsAIServiceVendorStarBurst];
// Other public values:
// AIBudsAIServiceVendorMltcloud
// AIBudsAIServiceVendorNoneПолная настройка приведена в разделе Выбор AI-сервиса.
Что дальше
После настройки перейдите к Основным понятиям. Термины собраны в Глоссарии SDK, возможности — в разделе Основные функции, а проблемы инициализации, поиска, подключения и выбора AI-сервиса — в разделе Частые проблемы.