使用自有 AI 服务
使用自有 AI 服务并不意味着需要重新实现一套设备流程。设备连接、AI 请求事件、设备指定的 SCO 或 Opus 音频通道、会话协调与资源清理,仍然按照对应的 AIBuds 功能文档处理。
变化只在鉴权和 AI 处理部分:宿主 App 自行完成 AI 服务鉴权,将鉴权结果报告给设备,并使用自有 AI 实现代替 SDK 提供的 AI 服务。
动态流程
自有 AI 鉴权结果同步
完成自有 AI 服务鉴权并将结果报告给设备,再继续标准的设备驱动 AI 流程。
发生变化的部分
宿主 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
- Objective-C
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.
}
}- (void)selfAIAuthenticationDidFinish:(BOOL)isAuthenticated {
if (![self.device conformsToProtocol:@protocol(AIBudsDeviceServiceAuthAPI)]) {
return;
}
id<AIBudsDeviceServiceAuthAPI> serviceAuthAPI = (id<AIBudsDeviceServiceAuthAPI>)self.device;
// Report only the result. Authentication is completed by the host app.
[serviceAuthAPI reportSelfAiServiceAuthResult:isAuthenticated
completion:^(BOOL reportSucceeded, NSError *error) {
if (!reportSucceeded) {
NSLog(@"%@", error.localizedDescription);
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、会话及资源清理流程。
- 凭据只保留在自有服务的安全接入流程中,向设备报告的内容只有布尔结果。