FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# WebRTC 常见问题

# 1. FinClip 小程序 SDK 是否支持 WebRTC?

问:我想在小程序中使用 WebRTC 的相关能力,FinClip 支持吗?

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

SDK 版本要求 手机系统要求
iOS FinClip 小程序 SDK 版本2.33.9及以上 iOS 系统版本14.3及以上
Android FinClip 小程序 SDK 版本2.24.1及以上 Android 系统版本6.0及以上

提示

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

# 2. 如何在 FinClip 小程序 SDK 内使用 WebRTC?

WebRTC 的本质能力,是在网页浏览器中实时进行语音或视频对话,FinClip 小程序 SDK 是支持 WebView 打开指定 HTML5 页面的

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

  • WebRTC 的中转服务器业务域名需要进行配置 ,见 功能介绍-域名配置
  • 使用包含音视频功能的 HTML5 前,需要提前申请摄像头和麦克风权限(建议由 App 先申请权限)。

FinClip 小程序 SDK 并未声明录音权限,因此需要 App 添加权限声明。

  • iOS 项目中,需要在info.plist文件中添加权限配置声明,见这里
  • Android 项目中,需要在AndroidManifest.xml文件中添加权限配置声明,见如下示例:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

# 3. App 权限与 SDK 内小程序的关系如何?

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

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

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

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

# 4. FinClip Android SDK 对 WebRTC 支持情况如何?

  1. FinClip 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 支持。因为可以认定为 FinClip Android SDK 对 WebRTC 支持的最低 Android 系统版本为 Android 6.0
© 2022 FinClip with ❤