AUI Kits语聊房场景集成工具是阿里云提供的跨平台音视频实时通信服务,为业务方提供语音聊天、多人实时互动等场景的能力,借助通信的稳定、流畅、灵活的产品能力,以低代码的方式助力业务方快速发布应用。本文为您介绍iOS端接入语聊房的操作指引。
源码说明
源码下载
下载地址请参见GitHub开源项目。
目录结构
├── iOS // iOS平台的根目录
│ ├── AUIVoiceRoom.podspec // pod描述文件
│ ├── Source // 源代码文件
│ ├── Resources // 资源文件
│ ├── Example // Demo代码
│ ├── AUIRoomCore // 互娱语聊场景核心组件
│ ├── AUIBaseKits // 基础UI组件
│ ├── README.md // Readme
环境要求
Xcode 14.0 及以上版本,推荐使用最新正式版本
CocoaPods 1.9.3 及以上版本
准备 iOS 10.0 及以上版本的真机
前提条件
跑通Demo
源码下载后,进入Example目录。执行命令
pod install --repo-update
,自动安装依赖SDK。打开工程文件AUIVoiceRoomExample.xcworkspace,在Signing & Capabilities中修改Team和Bundle Identifier。
Team是用户添加的开发者Apple ID。
Bundle Identifier也就是包id。
进入文件iOS/Source/AUIVoiceRoomManager.swift,修改服务端域名。
let VoiceRoomServerDomain = "你的应用服务器域名"
进入文件iOS/AUIRoomCore/Source/Core/Service/ARTCRoomRTCService.swift,实时音视频应用的appID。
@objcMembers public class AUIRoomConfig: NSObject { public var appId = "你的appID" ... }
在真机上编译运行。
快速开发自己的语聊房功能
可通过如下步骤快速集成AUIVoiceRoom到您的App中,让您的App具备语聊房功能。
集成源码
导入AUIVoiceRoom。
仓库代码下载后,拷贝iOS文件夹到您的App代码目录下,改名为AUIVoiceRoom,与您的Podfile文件在同一层级,可以删除Example目录。
修改你的Podfile,引入:
AliVCSDK_ARTC:适用于实时音视频的音视频终端SDK,也可以使用:AliVCSDK_Standard或AliVCSDK_InteractiveLive,参考iOS端。
AUIFoundation:基础UI组件
AUIMessage:互动消息组件
AUIRoomCore:互娱语聊场景核心组件
AUIVoiceRoom:语聊场景UI组件源码
#需要iOS10.0及以上才能支持 platform :ios, '10.0' target '你的App target' do # 根据自己的业务场景,集成合适的音视频终端SDK,支持:AliVCSDK_ARTC、AliVCSDK_Standard、AliVCSDK_InteractiveLive pod 'AliVCSDK_ARTC', '~> 6.10.0' # 基础UI组件 pod 'AUIFoundation', :path => "./AUIVoiceRoom/AUIBaseKits/AUIFoundation/" # 互动消息组件 pod 'AUIMessage/AliVCIM', :path => "./AUIVoiceRoom/AUIBaseKits/AUIMessage/" # 互娱语聊场景核心组件 pod 'AUIRoomCore/AliVCSDK_ARTC', :path => "./AUIVoiceRoom/AUIRoomCore/" # 语聊场景UI组件 pod 'AUIVoiceRoom', :path => "./AUIVoiceRoom/" end
执行
pod install --repo-update
,源码集成完成。
工程配置
打开工程info.Plist,添加NSMicrophoneUsageDescription权限。
打开工程设置,在Signing & Capabilities中开启Background Modes。
源码配置
完成前提条件后,进入文件AUIVoiceRoomManager.swift,修改服务端域名。
// AUIVoiceRoomManager.swift let VoiceRoomServerDomain = "你的应用服务器域名"
完成前提条件后,进入文件ARTCRoomRTCService.swift,修改实时音视频应用的appID。
// ARTCRoomRTCService.swift @objcMembers public class ARTCRoomConfig: NSObject { public var appId = "你的appID" ... }
调用API
完成上述操作后,根据自身的业务场景和交互,可以在您的App其他模块或主页上通过组件接口快速实现语聊房功能,也可以根据自身的需求修改源码。
// 初始化,进入语聊房前(需确保已经App登录)
let user = ARTCRoomUser(uid) // 当前登录用户信息
user.userNick = nick
user.userAvatar = avatar
let serverAuth = auth // app登录后的token,用于服务端安全校验
AUIVoiceRoomManager.shared.setup(currentUser: user!, serverAuth: serverAuth)
// 打开语聊房间列表
let listVC = AUIVoiceRoomListViewController()
self.navigationController?.pushViewController(listVC, animated: false)
// 创建语聊房
AUIVoiceRoomManager.shared.createRoom(currVC: self)
// 加入语聊房
AUIVoiceRoomManager.shared.enterRoom(roomId: roomInfo.roomId, currVC: self)
运行结果
参考Demo体验。
常见问题
更多AUIKits问题咨询及使用说明,请搜索钉钉群(35685013712)加入AUI客户支持群联系我们。