通过阅读本文,您可以了解如何在iOS端接入AI实时互动应用。
源码说明
源码下载
下载地址请参见GitHub开源项目。
源码结构
├── iOS // iOS平台的根目录
│ ├── AUIAICall.podspec // pod描述文件
│ ├── Source // 源代码文件
│ ├── Resources // 资源文件
│ ├── Example // Demo代码
│ ├── AUIBaseKits // 基础UI组件
│ ├── AICallKit // AICallKit组件(使用自定义实现)
│ ├── README.md // Readme
环境要求
Xcode 16.0 及以上版本,推荐使用最新正式版本
CocoaPods 1.9.3 及以上版本
准备 iOS 10.0 及以上版本的真机
前提条件
已在您的服务端上开发了相关接口或直接部署提供的Server源码,搭建步骤请参见项目部署。
跑通demo
源码下载后,进入Example目录。
在Example目录里执行命令
pod install --repo-update
,自动安装依赖SDK。打开工程文件
AUIAICallExample.xcworkspace
,修改包Id。进入
AUIAICallAppServer.swift
文件,修改服务端域名。// AUIAICallAppServer.swift public let AICallServerDomain = "你的应用服务器域名"
选择"Example"Target 进行编译运行。
快速开发自己的AI通话功能
可通过以下几个步骤快速集成AUIAICall到您的APP中,让您的APP具备AI实时互动功能。
集成源码
导入AUIAICall:仓库代码下载后,拷贝iOS文件夹到你的APP代码目录下,改名为AUIAICall,与您的Podfile文件在同一层级,可以删除Example和AICallKit目录。
修改Podfile,引入:
AliVCSDK_ARTC:适用于实时互动的音视频终端SDK,也可以使用:AliVCSDK_Standard或AliVCSDK_InteractiveLive,具体集成方式,请参考iOS端。
ARTCAICallKit:AI实时互动通话场景SDK。
AUIFoundation:基础UI组件。
AUIAICall:AI通话场景UI组件源码。
#需要iOS10.0及以上才能支持 platform :ios, '10.0' target '你的App target' do # 根据自己的业务场景,集成合适的音视频终端SDK,支持:AliVCSDK_ARTC、AliVCSDK_Standard、AliVCSDK_InteractiveLive pod 'AliVCSDK_ARTC', '~> x.x.x' # AI实时互动通话场景SDK pod "ARTCAICallKit", '~> 1.5.0' # 基础UI组件源码 pod 'AUIFoundation', :path => "./AUIAICall/AUIBaseKits/AUIFoundation/", :modular_headers => true # AI通话场景UI组件源码 pod 'AUIAICall', :path => "./AUIAICall/" end
说明ARTC SDK版本请到官网获取最新适配版本号。
执行
pod install --repo-update
源码集成完成
工程配置
添加麦克风与摄像头权限,打开工程
info.Plist
,添加NSMicrophoneUsageDescription和NSCameraUsageDescription权限。打开工程设置,在Signing & Capabilities中开启Background Modes,如果不开启后台模式,则需要自行处理在进入后台时结束通话。
源码配置
已完成前提条件所需步骤。
进入
AUIAICallAppServer.swift
文件,修改服务端域名。// AUIAICallAppServer.swift public let AICallServerDomain = "你的应用服务器域名"
调用API
上述工作完成后,接下来可以根据自身的业务场景和交互,可以在你APP其他模块或主页上通过组件接口启动AI通话,也可以根据自身的需求修改源码。
// 引入组件
import AUIAICall
import AUIFoundation
// 检查是否开启麦克风权限
AVDeviceAuth.checkMicAuth { auth in
if auth == false {
return
}
// 通过userId构建controller
let controller = AUIAICallStandardController(userId: userId)
// 设置通话的类型(语音、数字人或视觉理解),appserver根据agentType选择对应的agentId启动通话
controller.config.agentType = agentType
// 创建通话ViewController
let vc = AUIAICallViewController(controller)
// 全屏方式打开通话界面
vc.modalPresentationStyle = .fullScreen
vc.modalTransitionStyle = .coverVertical
vc.modalPresentationCapturesStatusBarAppearance = true
self.present(vc, animated: true)
}
常见问题
更多AUIKits问题咨询及使用说明,欢迎通过钉钉扫描下方二维码,加入群聊联系我们。