

# 步骤 4：集成 IVS 广播 SDK
<a name="getting-started-broadcast-sdk"></a>

IVS 提供适用于 Web、Android 和 iOS 的广播 SDK，您可以将其集成到应用程序中。广播 SDK 用于发送和接收视频。如果您已[为暂存区配置了 RTMP 摄取](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/rt-stream-ingest.html)，则可以使用任何可以广播到 RTMP 端点的编码器（例如 OBS 或 ffmpeg）。

在这一部分，我们编写了一个简单的应用程序，可让两个或多个参与者进行实时交互。以下步骤将指导您创建一个名为 BasicRealTime 的应用程序。完整的应用程序代码位于 CodePen 和 GitHub 上：
+  Web：[https://codepen.io/amazon-ivs/pen/ZEqgrpo](https://codepen.io/amazon-ivs/pen/ZEqgrpo) 
+  Android：[https://github.com/aws-samples/amazon-ivs-real-time-streaming-android-samples](https://github.com/aws-samples/amazon-ivs-real-time-streaming-android-samples) 
+  iOS：[https://github.com/aws-samples/amazon-ivs-real-time-streaming-ios-samples](https://github.com/aws-samples/amazon-ivs-real-time-streaming-ios-samples) 

## Web
<a name="getting-started-broadcast-sdk-web"></a>

### 设置文件
<a name="getting-started-broadcast-sdk-web-setup"></a>

首先，创建一个文件夹和一个初始 HTML 和 JS 文件来设置文件：

```
mkdir realtime-web-example
cd realtime-web-example
touch index.html
touch app.js
```

您可以使用脚本标签或 npm 安装广播 SDK。为简单起见，示例使用了脚本标签，但如果您稍后选择使用 npm，也能轻易修改。

### 使用脚本标签
<a name="getting-started-broadcast-sdk-web-script"></a>

Web 广播 SDK 作为 JavaScript 库分发，可在 [https://web-broadcast.live-video.net/1.34.0/amazon-ivs-web-broadcast.js](https://web-broadcast.live-video.net/1.34.0/amazon-ivs-web-broadcast.js) 检索。

通过 `<script>` 标签加载时，该库会在窗口作用域中公开一个名为 `IVSBroadcastClient` 的全局变量。

### 使用 npm
<a name="getting-started-broadcast-sdk-web-npm"></a>

安装 npm 程序包：

```
npm install amazon-ivs-web-broadcast
```

您现在可以访问 IVSBroadcastClient 对象：

```
const { Stage } = IVSBroadcastClient;
```

## Android
<a name="getting-started-broadcast-sdk-android"></a>

### 创建 Android 项目
<a name="getting-started-broadcast-sdk-android-project"></a>

1. 在 Android Studio 中，创建**新项目**。

1. 选择**空白视图活动**。

   注意：在某些较旧版本的 Android Studio 中，基于视图的活动称为**空白活动**。如果您的 Android Studio 窗口显示**空白活动**，并且确实*不*显示**空白视图**活动，选择**空白活动**。否则，请勿选择**空白活动**，因为将使用 View API（而不是 Jetpack Compose）。

1. 给项目起一个**名称**，然后选择**完成**。

### 安装广播 SDK
<a name="getting-started-broadcast-sdk-android-install"></a>

要将 Amazon IVS Android 广播库添加到您的 Android 开发环境中，请将该库添加到您模块的 `build.gradle` 文件，如此处所示（适用于最新版本的 Amazon IVS 广播 SDK）。在较新的项目中，`mavenCentral` 存储库可能已经包含在您的 `settings.gradle` 文件中，如果是这种情况，您可以省略 `repositories` 数据块。对于我们的示例，我们还需要在 `android` 数据块中启用数据绑定。

```
android {
    dataBinding.enabled true
}

repositories {
    mavenCentral()
}
 
dependencies {
     implementation 'com.amazonaws:ivs-broadcast:1.41.0:stages@aar'
}
```

如要手动安装 SDK，也可从以下位置下载最新版本：

[https://search.maven.org/artifact/com.amazonaws/ivs-broadcast](https://search.maven.org/artifact/com.amazonaws/ivs-broadcast)

## iOS
<a name="getting-started-broadcast-sdk-ios"></a>

### 创建 iOS 项目
<a name="getting-started-broadcast-sdk-ios-project"></a>

1. 创建新 Xcode 项目。

1. 对于**平台**，选择 **iOS**。

1. 对于**应用程序**，选择**应用程序**。

1. 输入应用程序的**商品名称**，然后选择**下一步**。

1. 选择（导航到）保存项目的目录，然后选择**创建**。

接下来您需要引入 SDK。有关说明，请参阅《iOS Broadcast SDK Guide》**中的 [Install the Library](broadcast-ios-getting-started.md#broadcast-ios-install)。

### 配置权限
<a name="getting-started-broadcast-sdk-ios-config"></a>

您需要更新项目的 `Info.plist`，以便为 `NSCameraUsageDescription` 和 `NSMicrophoneUsageDescription` 添加两个新条目。对于这些值，请提供面向用户的说明，解释您的应用程序为何要求访问相机和麦克风。

![\[配置 iOS 权限。\]](http://docs.aws.amazon.com/zh_cn/ivs/latest/RealTimeUserGuide/images/iOS_Configure.png)
