WebRTC 常见问题

优质
小牛编辑
130浏览
2023-12-01

1. 凡泰SDK是否支持WebRTC?

支持,使用时请确保SDK及手机系统均满足以下条件:

SDK版本要求手机系统要求
AndroidSDK版本为2.24.1及以上Android系统 6.0及以上
iOSSDK版本为2.33.9及以上iOS系统 14.3及以上

提示

1.iOS 2.24.4~~2.27.1 也支持WebRTC,不过在H5中读取UserAgent会偶现不包含Provider/finogeeks (miniprogram; FinChat; runtimeSdkVersion/2.27.1) 的情况,建议使用2.33.9以及以上版本。 2.Android支持情况请查看后文中的详细说明。

2. 如何在凡泰SDK内使用WebRTC?

由于WebRTC本质是在网页浏览器中进行实时语音对话或视频,而凡泰SDK是支持webview打开指定H5页面的。

因此,在使用包含WebRTC相关能力的H5页面时,开发者只需关注以下问题:

  • WebRTC通常需要一个中转服务器,该服务器的业务域名也需要进行域名配置 如何实现域名配置?
  • 使用包含音视频功能的H5前,需要提前申请摄像头和麦克风权限,建议由App先申请权限。

凡泰SDK并未声明录音权限,因此需要APP添加权限声明。 以Android为例,在Manifest文件中添加以下权限声明:

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

3. 关于App权限与SDK内小程序的关系

情形一:App已经向用户成功获取了摄像头、麦克风权限

  • 此时在凡泰SDK内加载包含WebRTC的H5时,就可以直接采集音视频了;
  • 同时,H5内的功能也可以弹出Alert,询问用户是否允许采集摄像头、是否允许使用麦克风,从而实现单独控制采集的目标。

情形二:如果用户未给予App开启摄像头、麦克风权限

  • 此时,SDK加载包含WebRTC功能的H5时,将无法采集音视频。

4. 关于凡泰Android SDK对WebRTC支持情况的说明

  1. 凡泰Android SDK对WebRTC的支持源于Android原生WebView对WebRTC的支持。
  2. 根据Android开发者平台关于Android 5.0版本WebView的相关描述,WebView自Android 5.0版本起添加了对WebRTC的支持。相关描述 (opens new window)
  3. 云测数据表明,Android 5.0机型对于WebRTC官方示例AppRTC还不能正常支持
    原因在于Android 5.0 WebView内核由Android System WebView APK提供,而Android 5.0云测设备包含的Android System WebView APK版本都比较低。
  4. Android 6.0及以上版本机型云测几乎全部通过对AppRTC支持。因为可以认定为凡泰Android SDK对WebRTC支持的最低Android系统版本为Android 6.0