# 集成 Meta SDK (/zh-CN/solutions/meta-world/get-started/integrate-sdk)

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

<_PlatformTabsGroup>
<_PlatformProcessedMarker groupMode="structured" canonicalPlatform="android" platform="android" />
本文介绍如何创建项目并将声网 Meta SDK 集成进你的项目中。

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

开始前请确保你的开发环境满足如下要求：

- [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 API 级别 22 及以上
- Android 设备，版本 Android 5.1 及以上

  :::info[信息]
  声网推荐使用真机运行项目。部分模拟机可能存在功能缺失或者性能问题。
  :::

- 可以访问互联网的计算机。如果你的网络环境部署了防火墙，参考[应对防火墙限制](/zh-CN/realtime-media/rtc/build/setup-and-access/firewall)以正常使用声网服务
- 参考[开通元语聊服务](/zh-CN/solutions/meta-world/build/enable-service)注册并登录[声网控制台](http://console.shengwang.cn)，创建声网项目，获取项目的 App ID、App 证书
- 联系 sales@shengwang.cn 并提供你的声网项目的 App ID，开通声网内容中心的权限，并获取声网面部捕捉插件的 App ID 和 Certificate

## 创建项目并集成 SDK [#创建项目并集成-sdk]

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

参考以下步骤创建项目，详见 [Create a project](https://developer.android.com/studio/projects/create-project)。

   1. 打开 **Android Studio**，选择 **New Project**。
   2. 选择 **Phone and Tablet > Empty Views Activity**，点击 **Next**。
   3. 设置项目名称和存储路径，选择语言为 **Java**，点击 **Finish** 创建 Android 项目。

      :::info[信息]
      创建项目后，**Android Studio** 会自动开始同步 gradle，稍等片刻至同步成功后再进行下一步操作。
      :::

### 2 集成 SDK [#2-集成-sdk]

声网 Meta SDK 是基于声网 RTC SDK 4.0.1 版开发的元系列特殊版 SDK。参考如下步骤获取并将 SDK 集成到你的项目中。

1. 联系 sales@shengwang.cn 获取 Meta SDK，下载并解压。
2. 打开解压文件，将以下文件或文件夹复制到你的项目路径中。

   | 文件或子文件夹             | 项目路径     |
   |:-------------------------|:-----------|
   | `agora-rtc-sdk.jar` 文件	| `/app/libs/` |
   | `AgoraMetaKit.aar` 文件 	| `/app/libs/` |
   | `face_capture.jar` 文件   | `/app/libs/` |
   | `FaceCapture.aar` 文件    | `/app/libs/` |
   | `metakit.jar` 文件        | `/app/libs/` |
   | `arm64-v8a` 文件夹      	| `/app/src/main/jniLibs/` |
   | `armeabi-v7a` 文件夹	    | `/app/src/main/jniLibs/` |
   | `x86_64` 文件夹           | `/app/src/main/jniLibs/` |
   | `x86` 文件夹	            | `/app/src/main/jniLibs/` |

### 3 添加第三方库和依赖 [#3-添加第三方库和依赖]

在项目的 `build.gradle` 文件中的 `dependencies` 节点中添加行，以添加第三方库和依赖。

```java
dependencies {
    ...
    implementation fileTree(dir: "libs", include: ["*.jar", "*.aar"])
    implementation(['com.squareup.okhttp3:logging-interceptor:3.9.0',
                    'com.squareup.retrofit2:retrofit:2.3.0',
                    'com.squareup.retrofit2:adapter-rxjava2:2.3.0',
                    'com.squareup.retrofit2:converter-gson:2.3.0'])
    implementation(["io.reactivex.rxjava2:rxandroid:2.0.1",
                    "io.reactivex.rxjava2:rxjava:2.1.3"])
}
```

如下图所示：

![Android 集成示意](https://web-cdn.agora.io/docs-files/1687674307175)

### 4 添加网络和设备权限 [#4-添加网络和设备权限]

在 `/app/Manifests/AndroidManifest.xml` 文件中，在 `</application>` 后面添加如下权限：

```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"/>
```

### 5 代码防混淆 [#5-代码防混淆]

在 `/Gradle Scripts/proguard-rules.pro` 文件中添加如下行，以防止声网 SDK 的代码被混淆：

```java
-keep class io.agora.**{*;}
-dontwarn javax.**
-dontwarn com.google.devtools.build.android.**
```

## 下一步 [#下一步]

集成后，你可以参考如下文档在项目中搭建元语聊、元直播或融合场景：

<Cards>
  <Card title="实现元语聊" href="../build/metachat" />

  <Card title="实现元直播" href="../build/metalive" />

  <Card title="实现融合场景" href="../build/mixed-scenario" />
</Cards>
<_PlatformProcessedMarker close="true" />

<_PlatformProcessedMarker groupMode="structured" canonicalPlatform="android" platform="ios" />
本文介绍如何创建项目并将声网 Meta SDK 集成进你的项目中。

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

开始前请确保你的开发环境满足如下要求：

- [Git](https://git-scm.com/downloads)
- [Xcode](https://apps.apple.com/cn/app/xcode/id497799835?mt=12) 12.0 及以上
- iOS 设备，版本 11.0 及以上

  :::info[信息]
  声网推荐使用真机运行项目。部分模拟机可能存在功能缺失或者性能问题。
  :::

- 有效的苹果开发者账号
- 可以访问互联网的计算机。确保你的网络环境没有部署防火墙，否则无法正常使用声网服务
- 参考[开通元语聊服务](/zh-CN/solutions/meta-world/build/enable-service)注册并登录[声网控制台](http://console.shengwang.cn)，创建声网项目，获取项目的 App ID、App 证书
- 联系 sales@shengwang.cn 并提供你的声网项目的 App ID，开通声网内容中心的权限，并获取声网面部捕捉插件的 App ID 和 Certificate

## 创建项目并集成 SDK [#创建项目并集成-sdk-1]

### 创建项目 [#创建项目]

如果没有项目文件，参考如下步骤创建一个新项目：

1. 参考[创建一个新的项目](https://help.apple.com/xcode/mac/current/#/dev07db0e578)文档创建，**Application** 选择 **App**，**Interface** 选择 **Storyboard**，**Language** 选择 **Swift**。

   :::info[信息]
   如果你没有添加过开发团队信息，会看到 **Add account…** 按钮。点击该按钮并按照屏幕提示登入 Apple ID，点击 **Next**，完成后即可选择你的 Apple 账户作为开发团队。
   :::

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)，添加以下属性：

    | key   | type   | value   |
    | ------------------- | ------ | ------------------------------------------------------------ |
    | Privacy - Microphone Usage Description | String | 使用麦克风的目的，例如 for a live interactive streaming |
    | Privacy - Camera Usage Description       | String | 使用摄像头的目的，例如 for a live interactive streaming |

:::info[信息]
- 如果你的项目中需要添加第三方插件或库（例如第三方摄像头），且该插件或库的签名与项目的签名不一致，你还需勾选 **Hardened Runtime** > **Runtime Exceptions** 中的 **Disable Library Validation**。
- 更多注意事项，可以参考 [Preparing Your App for Distribution](https://developer.apple.com/documentation/xcode/preparing_your_app_for_distribution)。
:::

### 2. 集成 SDK [#2-集成-sdk-1]

声网 Meta SDK 是基于声网 RTC SDK 4.0.1 版开发的元系列特殊版 SDK。参考如下步骤获取并将 SDK 集成到你的项目中。

1. 联系 sales@shengwang.cn 获取 Meta SDK，下载并解压。
2. 将 SDK 包内 `libs` 及路径下的文件，拷贝到你的项目路径下。
3. 打开 Xcode，[添加对应动态库](https://help.apple.com/xcode/mac/current/#/dev51a648b07)，确保添加的动态库 **Embed** 属性设置为 **Embed & Sign**。

:::info[信息]
- 根据 Apple 官方要求，App 的 Extension 中不允许包含动态库。如果项目中的 Extension 需要集成 SDK，则添加动态库时需将文件状态改为 **Do Not Embed**。
- 声网 SDK 默认使用 libc++ (LLVM)，如需使用 libstdc++ (GNU)，请联系 sales@shengwang.cn。SDK 提供的库是 FAT Image，包含 32/64 位模拟器、32/64 位真机版本。
:::

### 3. 添加第三方库和依赖 [#3-添加第三方库和依赖-1]

参考[添加依赖库](https://help.apple.com/xcode/mac/current/#/dev51a648b07)文档添加如下依赖库，并将状态修改为 **Embed & Sign**：

- `libcrypto.a`
- `libssl.a`
- `libz.tbd`

## 下一步 [#下一步-1]

集成后，你可以参考如下文档在项目中搭建元语聊、元直播或融合场景：

<Cards>
  <Card title="实现元语聊" href="../build/metachat" />

  <Card title="实现元直播" href="../build/metalive" />

  <Card title="实现融合场景" href="../build/mixed-scenario" />
</Cards>
<_PlatformProcessedMarker close="true" />
</_PlatformTabsGroup>
