音视频通话 2.0
Flutter
新手接入指南
产品简介
产品介绍
功能特性
产品优势
基本概念
使用限制
产品计费
按量计费
资源包
下载 SDK 和 示例代码
更新日志
快速开始
接入流程
创建应用
开通服务
集成 SDK
快速跑通 Sample Code
实现音视频通话
Token 鉴权
API 参考
Flutter API 参考
服务端 API
错误码
控制台指南
常见问题
FAQ
服务协议

集成 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
    image

    • 创建 Android 项目成功后,Android Studio 会自动开始同步 gradle, 您需要等同步成功后再进行下一步操作。
    • 请在 Android Studio 里配置 Flutter SDK 路径(建议路径拼写为小写英文字母,且用下划线分割开),按需配置开发环境变量,建议下载 Flutter 和 Dart 插件
  • iOS:若您需要创建新项目,在 XCode 里,依次选择 Create a New XCode Project > Single View App > Next 新建工程,再配置工程相关信息和合适的工程本地路径,单击 Create

    image image

步骤二 获取 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.** {*;}

后续步骤

实现音视频通话

此文档是否对你有帮助?
有帮助
我要吐槽
  • 前提条件
  • 集成 SDK
  • 步骤一 创建项目
  • 步骤二 获取 SDK
  • 步骤三 添加依赖项
  • 添加权限
  • 防止代码混淆
  • 后续步骤