跳到主要内容

使用自有 AI 服务

使用自有 AI 服务并不意味着需要重新实现一套设备流程。设备连接、AI 请求事件、设备指定的 SCO 或 Opus 音频通道、会话协调与资源清理,仍然按照对应的 AIBuds 功能文档处理。

变化只在鉴权和 AI 处理部分:宿主 App 自行完成 AI 服务鉴权,将鉴权结果报告给设备,并使用自有 AI 实现代替 SDK 提供的 AI 服务。

动态流程

自有 AI 鉴权结果同步

完成自有 AI 服务鉴权并将结果报告给设备,再继续标准的设备驱动 AI 流程。

App ↔ 设备

连接设备

按照标准 AIBuds 流程连接设备,并等待所需的功能 API 就绪。

宿主 App ↔ 自有 AI

鉴权自有 AI 服务

宿主 App 通过自有 AI 服务的接入方式完成鉴权。

App → 设备

报告鉴权结果

服务可用时报告 true;鉴权失败或服务不可用时报告 false。

设备 + App

继续标准流程

报告成功后,设备可以继续符合条件的 AI 请求以及文档规定的 SCO 或 Opus 音频流程。

标准 AIBuds 流程
宿主 App ↔ 自有 AI

使用自有 AI 处理

宿主 App 使用自有 AI 服务处理请求,同时保持原有的设备侧生命周期。

该 API 只用于同步设备侧的鉴权状态,不负责执行鉴权,也不传输任何凭据。

发生变化的部分

宿主 App 负责自有 AI 服务的鉴权和 AI 请求处理。每次鉴权完成后,通过 reportSelfAiServiceAuthResult 将当前结果报告给设备。

保持不变的部分

无需替换 AIBuds 设备流程。无论实现 AI 对话、AI 录音、流式语音识别、同声传译还是其他 AI 功能,都继续使用文档规定的设备事件、音频通道、功能生命周期、停止处理和资源清理方式。

例如,设备请求使用 Opus 输入时,只有自有 AI 服务鉴权成功且结果已经报告给设备,设备才能继续发送符合条件的语音流;设备请求使用 SCO 时,App 仍然按照对应文档准备 SCO 录音。使用自有 AI 服务不会改变音频通道由哪一端决定。

使用 AI 辅助实现

使用 AI 开发

让 AI 帮你接入自己的 AI 服务

官方技能只指导 AIBuds 设备工作流和集成边界;AI 客户端、凭据与服务逻辑仍由你的 App 负责。

请阅读并遵循 https://docs-aibuds.github.io/zh-Hans/skills/integrate-aibuds-sdk,将其作为 AIBuds 集成边界指南。在当前 iOS 项目中,把开发者自有的 AI 服务接入文档规定的 AIBuds 设备工作流。先检查并保留项目现有的 AI 客户端、凭据边界、架构和产品行为;不要改用 AIBuds 官方 AI Provider,也不要向 SDK 传递凭据,只通过公开 API 上报鉴权结果。如果缺少自有 AI 服务的接口或行为信息,请先提出必要且具体的问题,再开始实现。完成后验证设备、音频、事件、失败处理和资源清理的端到端流程。
查看集成技能

报告鉴权结果

Swift
func selfAIAuthenticationDidFinish(isAuthenticated: Bool) {
    guard let serviceAuthAPI = device as? DeviceServiceAuthAPI else { return }

    // Report only the result. Authentication is completed by the host app.
    serviceAuthAPI.reportSelfAiServiceAuthResult(isAuthenticated) {
        reportSucceeded,
        error in

        guard reportSucceeded else {
            print(error?.localizedDescription ?? "Failed to report authorization")
            return
        }

        // A true result allows the device to continue eligible AI flows.
        // A false result keeps the device informed that the service is unavailable.
    }
}

请参阅 reportSelfAiServiceAuthResult报告自有 AI 服务鉴权,了解完整 API 契约。

:::note completion 的含义 completion 只表示布尔结果是否成功送达设备,不表示宿主 App 是否成功完成 AI 服务鉴权。不要通过该 API 发送 token、API Key 或其他凭据。 :::

接入检查

  • 在宿主 App 中完成自有 AI 服务鉴权。
  • 只有服务已经可以处理 AI 请求时才报告 true
  • 鉴权失败或服务不可用时报告 false
  • 所选 AI 功能继续沿用文档规定的设备事件、SCO 或 Opus、会话及资源清理流程。
  • 凭据只保留在自有服务的安全接入流程中,向设备报告的内容只有布尔结果。