# 快速集成 (/zh-CN/solutions/one-to-one-live/rtm/get-started/integrate-callapi)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<_PlatformTabsGroup>
<_PlatformProcessedMarker groupMode="structured" canonicalPlatform="android" platform="android" />
在实现 1v1 私密房和秀场转 1v1 之前，你需要将声网 `CallAPI` 集成到项目中。本文介绍如何将源码添加到你的项目中，并进行必要的项目设置。

## 前提条件 [#前提条件]

开始前，请确保满足如下前提条件：

- [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 及以上。

## 集成步骤 [#集成步骤]

### 1. 创建项目 [#1-创建项目]

如果你没有 Android 项目，参考如下步骤先创建一个。如果本地已有项目，可以跳过本步骤，直接参考 [2. 添加 CallAPI](/zh-CN/solutions/one-to-one-live/rtm/get-started/integrate-callapi)。

1. 参考 [Create a project](https://developer.android.com/studio/projects/create-project) 在 Android Studio 中创建一个项目。
2. 在项目的 `Manifest` 文件中添加如下权限：

   ```xml
   <!--必要权限-->
   <uses-permission android:name="android.permission.INTERNET"/>

   <!--可选权限-->
   <uses-permission android:name="android.permission.CAMERA"/>
   <uses-permission android:name="android.permission.RECORD_AUDIO"/>
   <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
   <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
   <uses-permission android:name="android.permission.BLUETOOTH"/>
   <!-- 对于 Android 12.0 及以上且集成 v4.1.0 以下 SDK 的设备，还需要添加以下权限 -->
   <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
   <!-- 对于 Android 12.0 及以上设备，还需要添加以下权限 -->
   <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
   <uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
   ```

3. 打开 `/app/proguard-rules.pro` 文件，添加如下行以防止声网 SDK 的代码被混淆：

   ```kotlin
   -keep class io.agora.**{*;}
   ```

### 2. 添加 CallAPI [#2-添加-callapi]

参考如下步骤将 `CallAPI` 添加到项目中。

1. 下载或克隆 [`CallAPI`](https://github.com/AgoraIO-Community/CallAPI/tree/main/Android/lib_callapi/src/main/java/io/agora/onetoone) 源码。
2. 将 `onetoone` 文件拷贝到项目文件中。
3. 在 Android Studio 顶部工具栏中，点击 **Sync Project With Gradle File**，将 `CallAPI` 代码集成到项目中。

### 3. （可选）检查版本兼容性 [#3-可选检查版本兼容性]

如果你的项目之前集成过声网的 RTC 或者 RTM SDK，则需要确保 SDK 的版本号与 `CallAPI` 兼容：

- RTC SDK：不低于 4.1.1.26
- RTM SDK：不低于 2.2.0

如果版本号与 `CallAPI` 不兼容，可以直接在 `/app/build.gradle` 文件的 `dependencies` 中修改对应的 SDK 版本：

```groovy
'io.agora:agora-rtm:2.2.0'
'io.agora.rtc:agora-special-full:4.1.1.26'
```

:::info[信息]
如需使用 `AudioScenarioAPI` 提升音频体验，需要将 RTC SDK 版本设置为 4.1.1.29，详情可参考 [设置优质音频体验](/zh-CN/solutions/one-to-one-live/rtm/build/customize-and-extend/audio-scenario)。
:::

## 后续步骤 [#后续步骤]

完成集成后，你就可以根据业务需要添加相应的功能到你的项目中：

- [实现 1v1 私密房](/zh-CN/solutions/one-to-one-live/rtm/build/implement-core-features/start-one-to-one)
- [实现秀场转 1v1](/zh-CN/solutions/one-to-one-live/rtm/build/implement-core-features/showroom-to-one-to-one)
<_PlatformProcessedMarker close="true" />

<_PlatformProcessedMarker groupMode="structured" canonicalPlatform="android" platform="ios" />
在实现 1v1 私密房和秀场转 1v1 之前，你需要将声网 `CallAPI` 集成到项目中。本文介绍如何将源码添加到你的项目中，并进行必要的项目设置。

## 前提条件 [#前提条件-1]

开始前，请确保满足如下前提条件：

- [CocoaPods](https://guides.cocoapods.org/using/getting-started.html#getting-started)。
- [Xcode](https://apps.apple.com/cn/app/xcode/id497799835?mt=12) 12.0 及以上。
- 有效的苹果开发者账号。

## 集成步骤 [#集成步骤-1]

### 1. 创建项目 [#1-创建项目-1]

如果你没有 iOS 项目，参考如下步骤先创建一个。如果本地已有项目，可以跳过本步骤，直接参考 [2. 添加依赖](/zh-CN/solutions/one-to-one-live/rtm/get-started/integrate-callapi)。

1. 参考 [Create a project](https://help.apple.com/xcode/mac/current/#/dev07db0e578) 在 Xcode 中创建一个项目。
2. 为你的项目设置[自动签名](https://help.apple.com/xcode/mac/current/#/dev23aab79b4)。
3. 设置部署你的 App 的[目标设备](https://help.apple.com/xcode/mac/current/#/deve69552ee5)。
4. 在项目导航栏中打开 `info.plist` 文件，编辑[属性列表](https://help.apple.com/xcode/mac/current/#/dev3f399a2a6)，添加 1v1 私密房所需的录音和摄像头权限。

   | key                                    | type   | value                               |
   | -------------------------------------- | ------ | ----------------------------------- |
   | Privacy - Microphone Usage Description | String | 使用麦克风的目的，例如：`for 1v1`。 |
   | Privacy - Camera Usage Description     | String | 使用摄像头的目的，例如：`for 1v1`。 |

### 2. 添加依赖 [#2-添加依赖]

参考如下步骤将 `CallAPI` 添加到项目中。

1. 下载或克隆 [`CallAPI`](https://github.com/AgoraIO-Community/CallAPI/tree/main/iOS) 源码。
2. 将 `iOS` 下的 `CallAPI` 文件夹和 `CallAPI.podspec` 文件拷贝到项目文件夹中，和 `Podfile` 文件同级。
3. 在 `Podfile` 文件中添加如下行，添加对 `CallAPI` 的依赖：

   ```ruby
   pod 'CallAPI', :path => 'CallAPI.podspec'
   ```

4. 打开 Terminal，执行如下命令，将 `CallAPI` 代码集成进你的项目中：

   ```shell
   pod install
   ```

### 3.（可选）检查版本兼容性 [#3可选检查版本兼容性]

如果你的项目之前集成过声网的 RTC 或者 RTM SDK，请确保 SDK 的版本号与 `CallAPI` 兼容：

- RTC SDK：不低于 4.1.1.26
- RTM SDK：不低于 2.2.0

如果版本号与 `CallAPI` 不兼容，可以直接在 `CallAPI.podspec` 文件中修改对应的 SDK 版本：

```ruby
s.dependency 'AgoraRtcEngine_Special_iOS', '4.1.1.26'
s.dependency 'AgoraRtm_iOS', '2.2.0'
```

:::info[信息]
如需使用 `AudioScenarioAPI` 提升音频体验，需要将 RTC SDK 版本设置为 4.1.1.29，详情可参考 [设置优质音频体验](/zh-CN/solutions/one-to-one-live/rtm/build/customize-and-extend/audio-scenario)。
:::

## 后续步骤 [#后续步骤-1]

完成集成后，你就可以根据业务需要添加相应的功能到你的项目中：

- [实现 1v1 私密房](/zh-CN/solutions/one-to-one-live/rtm/build/implement-core-features/start-one-to-one)
- [实现秀场转 1v1](/zh-CN/solutions/one-to-one-live/rtm/build/implement-core-features/showroom-to-one-to-one)
<_PlatformProcessedMarker close="true" />
</_PlatformTabsGroup>
