Skip to content

Commit

Permalink
[uikit] add
Browse files Browse the repository at this point in the history
  • Loading branch information
kelzr committed Oct 11, 2023
1 parent 96c16df commit ffedde7
Show file tree
Hide file tree
Showing 3 changed files with 150 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
本文介绍如何快速跑通 [AUIVoiceRoom/iOS](https://github.com/AgoraIO-Community/AUIVoiceRoom/tree/main/iOS) 示例项目,体验在线语聊房。

如需更深入了解项目代码,请参考 [AUIScenesKit](https://github.com/AgoraIO-Community/AUIVoiceRoom/tree/main/iOS/AScenesKit)[AUIKit](https://github.com/AgoraIO-Community/AUIKit/blob/main/iOS/README_zh.md)

## 项目架构

//TODO


//TODO
```
┌─ Example // Demo代码集成目录
│ ├─ VoiceRoomListActivity // 主要提供 VoiceRoom 的房间列表页面
│ └─ VoiceRoomSettingActivity // 主要提供 VoiceRoom 的房间设置页面
├─ AUIScenesKit // 场景业务组装模块,目前只包含VoiceRoom
│ ├─ AUIVoiceRoomView // VoiceRoom房间容器View,用于拼接各个基础组件以及基础组件与Service的绑定
│ ├─ AUIVoiceRoomService // VoiceRoom房间Service,用于创建各个基础Service以及RTC/RTM/IM等的初始化
│ └─ Binder // 把UI Components和Service关联起来的业务绑定模块
└─ AUiKit // 包含基础组件和基础服务
├─ Service // 相关基础组件服务类,包括麦位以及申请邀请上麦、点歌器、聊天服务、送礼服务、用户管理、合唱等
├─ UI Widgets // 基础UI组件,支持通过配置文件进行一键换肤
└─ UI Components // 相关基础业务UI模块,包括麦位、申请邀请、聊天、送礼等,这些UI模块不包含任何业务逻辑,是纯UI模块
```


## 前提条件

- [Git](https://git-scm.com/downloads)
- [Java Development Kit](https://www.oracle.com/java/technologies/javase-downloads.html)
- [Android Studio](https://developer.android.com/studio/) 4.1 及以上
- Android 手机,版本 Android 5.0(API Level 21)及以上
- 有效的声网[开发者账号](https://docs.agora.io/cn/Agora%20Platform/sign_in_and_sign_up)

<div class="alert note">声网推荐使用真机运行项目。部分模拟机可能存在功能缺失或者性能问题。</div>


## 克隆仓库

1. 在根目录下运行以下命令克隆 `AUIVoiceRoom` 仓库到本地:

```shell
git clone [email protected]:AgoraIO-Community/AUIVoiceRoom.git
```

2. 继续运行以下命令将 `AUIVoiceRoom` 所依赖的 `AScenesKit``AUIKit` 拉取到本地://TODO 是否是根目录下运行,试了没有用

```shell
git submodule init
git submodule update
```

## 配置示例项目

1. 参考[使用语聊后端服务](//TODO)进行部署。

2. 创建 `AUIVoiceRoom/Android/local.properties` 文件并在该文件中设置你的后端服务主机地址:

```text
SERVER_HOST= "Your_Host_Url"
```

如果你暂时无意部署后端服务,可以使用 `https://service.agora.io/uikit-voiceroom`。这是声网为测试体验提供的地址,请你不要商用。


## 编译并运行示例项目

1. 开启 Android 设备的开发者选项,打开 USB 调试,通过 USB 连接线将 Android 设备接入电脑。

2. 用 Android Studio 打开 `AUIVoiceRoom/Android` 文件夹。

3. 在 Android Studio 中,点击 **Sync Project with Gradle Files** 按钮,以让项目与 Gradle 文件同步。

4. 待同步成功后,点击 `Run 'app'`。片刻后,语聊应用便会安装到你的 Android 设备上。

5. 打开应用,即可进行体验。房主可以创建语聊房;观众可以加入语聊房。

Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ Dev Containers 插件允许你在 Linux 环境的 Docker 容器中进行开发
3. 将服务部署在网关。网关可提供鉴权和限流等能力。本示例项目中展示的服务暂时未包含网关能力。
4. 设置指标收集。通过 `https://{your_domain}:9090/metrics/prometheus` 收集指标进行服务监控。
4. 设置指标收集。通过 `https://{your_hostname}:9090/metrics/prometheus` 收集指标进行服务监控。
5. 将服务部署在云平台,例如[阿里云容器服务(ACK)](https://www.alibabacloud.com/zh/product/kubernetes)。
Expand Down
73 changes: 73 additions & 0 deletions markdown/chatroom/AUIVoiceRoom/uivoice_run_github_project_ios.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
本文介绍如何快速跑通 [AUIVoiceRoom/iOS](https://github.com/AgoraIO-Community/AUIVoiceRoom/tree/main/iOS) 示例项目,体验在线语聊房。

如需更深入了解项目代码,请参考 [AUIScenesKit](https://github.com/AgoraIO-Community/AUIVoiceRoom/tree/main/iOS/AScenesKit)[AUIKit](https://github.com/AgoraIO-Community/AUIKit/blob/main/iOS/README_zh.md)

## 项目架构 //TODO 用哪张图

![](https://fullapp.oss-cn-beijing.aliyuncs.com/uikit/readme/uikit_structure_chart_voicechat_0.3.0.png)

![](https://web-cdn.agora.io/docs-files/1697008782148)

含义说明://TODO 用图二的话还需要提供 Controller、Container 等含义解释

- AUIVoiceRoom:提供 VoiceRoom 的集成页面。
- AScenesKit:场景业务组装模块。目前只包含 VoiceRoom(语聊)场景。
- AUIVoiceRoomRoomView:VoiceRoom 房间容器 View,用于拼接各个基础组件并将基础组件与 Service 绑定。
- AUIVoiceRoomRoomService:VoiceRoom 房间 Service,用于创建各个基础 Service 并初始化 RTC、RTM 和 IM。
- Binder:把 UI Component 和 Service 关联起来的业务绑定模块。
- AUIKit:包含基础组件和基础服务。
- UI Widget:基础 UI 组件。支持通过配置文件进行一键换肤。
- UI Component:基础业务 UI 模块,包括麦位、申请邀请、聊天、送礼物等。这些 UI 模块不包含任何业务逻辑,是纯 UI 模块。
- Service:基础组件服务类,包括麦位、申请或邀请上麦、点歌器、消息聊天、送礼物、用户管理、合唱等。

## 前提条件

- [Git](https://git-scm.com/downloads)
- [CocoaPods](https://guides.cocoapods.org/using/getting-started.html#getting-started)
- [Xcode](https://apps.apple.com/cn/app/xcode/id497799835?mt=12) 13.0 及以上
- iOS 设备,版本 13.0 及以上
- 有效的苹果开发者账号
- 有效的声网[开发者账号](https://docs.agora.io/cn/Agora%20Platform/sign_in_and_sign_up)

<div class="alert note">声网推荐使用真机运行项目。部分模拟机可能存在功能缺失或者性能问题。</div>

## 克隆仓库

1. 在根目录下运行以下命令克隆 `AUIVoiceRoom` 仓库到本地:

```shell
git clone [email protected]:AgoraIO-Community/AUIVoiceRoom.git
```

2. 继续运行以下命令将 `AUIVoiceRoom` 所依赖的 `AScenesKit``AUIKit` 拉取到本地://TODO 是否是根目录下运行,试了没有用

```shell
git submodule init
git submodule update
```

## 配置示例项目

1. 参考[使用语聊后端服务](//TODO)进行部署。

2. 在 `AUIVoiceRoom/iOS/AUIVoiceRoom/AUIVoiceRoom/KeyCenter.swift` 文件中设置你的后端服务主机地址:

```swift
static var HostUrl: String = <#Your Host Url#>
```

如果你暂无意部署后端服务,可以使用 `KeyCenter.swift` 里默认的地址。默认地址仅用于测试体验,请你不要商用。

3. 在 `AUIVoiceRoom/iOS/AUIVoiceRoom` 目录下运行 `pod install`,然后等待依赖库安装完成。

## 编译并运行示例项目

1. 连接上 iOS 设备后,点击 `AUIVoiceRoom.xcworkspace` 文件以通过 Xcode 打开项目,并在 **iOS Device** 选项中勾选上你的 iOS 设备。

2. 在项目 **TARGETS** 下的 **Signing & Capabilities** 界面勾选 **Automatically manage signing**,配置你的苹果开发者账号和 **Bundle Identifier**。Bundle ID 用于在设备上唯一标识应用程序。在开发应用时,你需要设置 Bundle ID。

3. 点击 <img src="https://web-cdn.agora.io/docs-files/1639710560035" width="25" style="display: inline;"/> 开始编译。

4. 编译成功后,你的 iOS 设备上会出现语聊应用。在 iOS 系统设置中将该应用设为信任开发者后你才能打开应用。

5. 打开应用,即可进行体验。房主可以创建语聊房;观众可以加入语聊房。

0 comments on commit ffedde7

Please sign in to comment.