Configuring the screen sharing collaboration layer
Prerequisites
Before you start configuring screen sharing in specific conversation templates, you must activate it. If you don’t, the settings for screen sharing aren’t available in the settings of your conversation templates.
You can activate screen sharing in the GLOBAL
or ACCOUNT
scope with the configuration property com.unblu.messenger.screenSharingEnabled.
General configuration options
For information on general configuration options, refer to the section General configuration options of the article Configuring and manipulating collaboration layers.
Screen sharing configuration properties
The following configuration properties determine how conversation participants may launch screen sharing sessions:
-
com.unblu.visitor.ui.engagement.showRequestScreenSharingEngagementOption: Give visitors the possibility to launch a screen sharing session from the Unblu welcome screen
-
com.unblu.messenger.startWithScreenSharingOptionEnabled: Make screen sharing an option to start a session with
You set the configuration properties listed above in the configuration cascades for visitors and agents. The properties only have an effect if the browser and operating system they’re using meet the technical requirements to launch a screen sharing session.
In your conversation templates, review the following configuration properties to get screen sharing working the way your organization wants:
-
com.unblu.conversation.feature.screenSharingEnabled: Enable screen sharing in the conversation template
-
com.unblu.conversation.feature.screenSharingEnabledPerActor: Which participant types may launch a screen sharing session
-
com.unblu.conversation.collaboration.action.allowStopScreenSharing: Which participant types may end a screen sharing session
-
com.unblu.conversation.collaboration.approval.approveActivateScreenSharing: The types of participant for whom the participant whose screen would be shared must approve screen sharing
As you can see from the list above, there are no collaboration tools available in screen sharing sessions.
Display media constraints
Screen sharing can put a considerable strain on environments with limited resources, such as Citrix environments. To limit the resources consumed by a screen sharing session, Unblu lets you configure the MediaTrackConstraints
for the video stream:
-
com.unblu.conversation.collabspace.screensharing.mediaConstraintMaxFrameRate specifies the video stream’s maximum frame rate in frames per second.
-
com.unblu.conversation.collabspace.screensharing.mediaConstraintMaxHeight and com.unblu.conversation.collabspace.screensharing.mediaConstraintMaxWidth let you specify, in pixels, the maximum height and width of the video stream, respectively.
-
com.unblu.conversation.collabspace.screensharing.mediaConstraintResizeMode specifies the mode the browser can use to derive the resolution of a video track.
-
When set to
NONE
(the default value), the browser uses the resolution provided by the camera, its driver, or the OS. -
When set to
CROP_AND_SCALE
, the browser can use cropping and downscaling on the camera output to satisfy other constraints that affect the resolution.
-
Screen sharing features that rely on MediaDevices.getDisplayMedia()
Browsers that support the MediaDevices.getDisplayMedia()
method of the Screen Capture API provide additional screen sharing features: sharing audio while screen sharing, and the option to restrict sharing the entire screen.
You can enable audio sharing by setting com.unblu.conversation.allowSharingAudio to true
.
Sharing the entire screen can be enabled on a per-role basis with the configuration property com.unblu.conversation.allowSharingEntireScreen. If sharing the entire screen is enabled for the user’s role, Unblu works as before. If, on the other hand, sharing the entire screen isn’t enabled for the user’s role, how Unblu behaves depends on the user’s browser:
-
If the user’s browser doesn’t support detecting the
MediaTrackSettings.displaySurface
of the source, screen sharing will be disabled entirely. This is the case for Mozilla Firefox, Apple Safari, and older versions of Microsoft Edge not based on Chromium. -
If the user’s browser allows detection of the source using
MediaTrackSettings.displaySurface
, the user can select a source to share. The source may be-
a browser tab,
-
a window, or
-
the entire screen.
If the user opts to share the entire screen, Unblu displays a dialog stating that they can only share a browser tab or a window. Selecting the OK button allows the user to select a different source to share. Selecting the Cancel button aborts the screen sharing session.
-
Both audio sharing and the restrictions on sharing the entire screen are set in the CONVERSATION
scope.