跳到主要内容

配置

使用相应的 SDK 功能前,请先配置日志、蓝牙扫描、设备连接和 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.

日志保留、导出和清理请参阅日志概述

高级配置

蓝牙配置

扫描超时

在初始化前配置默认超时时间,也可以仅为单次扫描覆盖该值。

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 服务商 SDK 后,再选择对应的 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 配置后,可以继续阅读核心概念,通过 SDK 术语表了解术语,或开始探索核心功能。如果初始化、扫描、连接或 AI 服务商选择不符合预期,请参阅常见问题