Help Center/ SparkRTC/ SDK Reference/ Web SDK/ Browser Adaptation
Updated on 2023-11-01 GMT+08:00

Browser Adaptation

This section describes the browser types, versions, and restrictions supported by the Web SDK.

Table 1 Browser adaptation

OS

Browser Type

Browser Version

SDK Version Constraints

Downlink (Playback)

Uplink (Speak)

Screen Sharing

Windows

Chrome browser

67+

  • v1.10.0 or later
  • v2.0.0 or later

Supported

Supported

Supported (Chrome 73 or later)

QQ Browser (fast kernel)

10.4+

Not supported

360 Secure Browser (fast mode)

12

Supported

WeChat embedded browser

-

v2.0.0 or later

Supported

Not supported

Not supported

Enterprise WeChat embedded browser

-

Mozilla Firefox

90+

v2.0.1 or later

Supported

Supported

Supported

Microsoft Edge

80+

v2.0.2 or later

Supported

Supported

Supported

Sogou Browser (high-speed mode)

11+

Opera browser

54+

Supported (Opera 60+ versions)

macOS

Chrome browser

67+

  • v1.10.0 or later
  • v2.0.0 or later

Supported

Supported

Supported (Chrome 73 or later)

WeChat embedded browser

-

v2.0.0 or later

Supported

Not supported

Not supported

Enterprise WeChat embedded browser

-

Safari

11+

v2.0.1 or later

Supported

Supported

Supported (Safari 13+ versions)

Mozilla Firefox

90+

Supported

Microsoft Edge

80+

Opera browser

56+

v2.0.2 or later

Supported

Supported

Supported (Opera 60+ versions)

Android

WeChat embedded browser (TBS kernel)

-

  • v1.10.0 or later
  • v2.0.0 or later

Supported

Supported

Not supported

WeChat embedded browser (XWEB kernel)

-

Enterprise WeChat embedded browser

-

Mobile Google Chrome

-

Mobile QQ Browser

12+

Mobile Huawei Browser

11.0.8+

Mobile UC Browser

-

-

Not supported

Not supported

Not supported

iOS

WeChat embedded browser

iOS 14.3+

WeChat 6.5+

  • v1.10.0 or later
  • v2.0.0 or later

Supported

Supported

Not supported

Mobile Google Chrome

iOS 14.3+

v2.0.0 or later

Supported

Supported

Not supported

Enterprise WeChat embedded browser

-

Not supported

Mobile Safari

11+

v2.0.1 or later

Supported

Supported

Not supported

Table 2 Constraints on browsers

Browser Type

Constraints

Chrome browser

  • In the mobile browser, the getSpeakers API can obtain only the default audio output device.
  • On Huawei mobile devices, the Chrome browser (including the Huawei built-in browser) supports WebRTC 91+.
  • Before using screen sharing on the Chrome of a macOS device, ensure that Chrome screen recording authorization has been enabled in Settings > Security & Privacy > Privacy > Screen Recording.

Safari

  • On Safari 11 and 12, the navigator.mediaDevices.getUserMedia API needs to be called (the createStream API in the SDK is called to create local streams) to obtain the media permission before link establishment. Otherwise, media interaction fails (the media link cannot be established).
  • When Huawei Native SDK pushes a stream and you watch the stream in Safari 11 or 12, a green screen may be displayed on your device.
  • Safari 13 users may not hear the voice of remote users.
  • The audio on iOS Safari 14.2 and macOS Safari 14.0.1 may be intermittent.
  • An exception may occur when you push stream on Safari 15.1. As a result, the page breaks down.
  • Safari does not support the getSpeakers and setAudioOutput APIs because it cannot obtain output device information.
  • Safari does not support the addTrack and removeTrack APIs.
  • The Safari browser cannot call the local stream collection API for multiple times. Otherwise, a black screen may be displayed during collection. The previous collection must be closed before the audio and video collection API is called.
  • Safari does not support high-quality and low-quality streams.
  • The iOS mobile browser does not support audio mixing.
  • If you insert a headset to a macOS device with Safari 12 and enable audio mixing, remote users cannot hear your voice.
  • You must call the navigator.mediaDevices.getUserMedia API before hearing the audio of a remote user. Otherwise, you cannot hear the audio or obtain the audio volume.

Mozilla Firefox

  • Firefox supports only 30 fps video frame rate.
  • Firefox on macOS devices with Apple M1 chips does not support H.264 codec.
  • Firefox does not support the getSpeakers and setAudioOutput APIs because it does not support the function of obtaining output device information.
  • When you push streams on Firefox 97 or later, black screen and frame freeze issues may occur on other clients. This issue is being resolved urgently. Use another browser to push stream.

Opera browser

On Huawei mobile devices, the Opera browser supports WebRTC 64 or later.

Other

The support for WebRTC varies with mobile browsers due to factors such as browser kernels, webviews, and versions of different vendors. In addition to the mobile browsers listed in Table 1, native SDK (Android/iOS) can be integrated.

  • For users who have integrated Web SDK 1.0+ (2.0+ is not involved), upgrade it to 1.10.0+ as soon as possible. Otherwise, Web SDK may fail to be used on Chrome 96 or later.
  • Web SDK 2.0+ is the mainstream build version. It provides new functions and optimizes user experience. You are advised to integrate it first. Only maintenance is provided for existing users of Web SDK 1.0+. New functions are not provided.
  • Web SDK 1.0+ and Web SDK 2.0+ cannot interwork with each other.
  • There are many constraints and known issues on the Safari browser. You are advised to use the Chrome browser or integrate the Native SDK.