音视频通话 2.0
集成 SDK
更新时间: 2023/02/08 17:08:10
本文为您介绍了 Flutter 端集成 NERTC SDK 的操作步骤,帮助您快速集成 SDK 并实现实时音视频通话的基本功能。
前提条件
在开始运行工程之前,请您准备以下开发环境:
- Flutter 1.22.5 及以上版本。
- Android 端开发:
- Android Studio 4.1 及以上版本。
- App 要求 Android 5.0 及以上版本设备。
- iOS 端开发:
- Xcode 11.0 及以上版本。
- 请确保您的项目已设置有效的开发者签名。
集成 SDK
步骤一 创建项目
-
Android:若您需要创建新项目,在 Android Studio 里,在顶部菜单依次选择 File > New > New Project 新建工程,再依次选择 Phone and Tablet > Empty Activity,单击 Next。
- 创建 Android 项目成功后,Android Studio 会自动开始同步 gradle, 您需要等同步成功后再进行下一步操作。
- 请在 Android Studio 里配置 Flutter SDK 路径(建议路径拼写为小写英文字母,且用下划线分割开),按需配置开发环境变量,建议下载 Flutter 和 Dart 插件。
-
iOS:若您需要创建新项目,在 XCode 里,依次选择 Create a New XCode Project > Single View App > Next 新建工程,再配置工程相关信息和合适的工程本地路径,单击 Create。
步骤二 获取 SDK
NERTC Flutter SDK 已正式发布到 pub.dev ,您可以在 pub 库中查询最新版本,通过配置 pubspec.yaml
自动下载更新。
- 其中 v3.9.0 为最新稳定版 SDK,v4.6.0 为特性最全版 SDK,请根据实际业务需要下载最合适、最优的版本。
- 以下集成步骤均以 v4.6.0 为例。
步骤三 添加依赖项
在项目的 pubspec.yaml
文件中添加以下依赖项:
environment:
sdk: ">=2.12.0 <3.0.0"
# 依赖项
dependencies:
flutter:
sdk: flutter
# NERTC Flutter SDK 依赖项
nertc: ^4.6.0-rc.0
cupertino_icons: ^1.0.3
# 权限处理插件依赖项
permission_handler: ^8.0.1
添加权限
通过 Flutter SDK 实现音视频通话之前,需要放开摄像头和麦克风的使用权限,以开启视频和语音通话功能。
-
Android:打开
app/src/main/AndroidManifest.xml
文件,添加必要的设备权限。<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <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.BLUETOOTH"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.BROADCAST_STICKY"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <!-- Android Q(10.0) 及后续版本还需要额外添加以下权限 --> <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" /> <uses-feature android:name="android.hardware.camera"/> <uses-feature android:name="android.hardware.camera.autofocus"/>
-
IOS:打开
Info.plist
文件,添加必要的设备权限。<key>NSCameraUsageDescription</key> <string>授权摄像头权限才能正常视频通话</string> <key>NSMicrophoneUsageDescription</key> <string>授权麦克风权限才能正常语音通话</string>
防止代码混淆
在 /example/android/app
目录下的 proguard-rules.pro
文件中,为 NERTC SDK 添加 -keep 类的配置,可以防止混淆 NERTC SDK 公共类名称。
-keep class com.netease.lava.** {*;}
-keep class com.netease.yunxin.** {*;}
后续步骤
此文档是否对你有帮助?
有帮助
我要吐槽