For the complete documentation index, see llms.txt. This page is also available as Markdown.

Video Call - Videocall

Introduction

Face Capture is performed with the VideoCall Component.

This component is responsible for managing communication between a user and an agent (video assistance). Its main processes are:

  • Internal management of cameras, microphone, and permissions.

  • Connection with the services.

In the section of Simplified Launch the necessary steps for the basic integration of the SDK are detailed. In this section, information is added for the launch of this component.

Dependency

The component's specific dependency is:

implementation "com.facephi.androidsdk:videocall_component:$version"

Available controllers

Controller

Description

VideoCallController

Main Video Call controller

StopVideoCallController

Stop the screen sharing and the current call

Simplified Launch

Once the SDK has been started and a new operation has been created, the component can be launched. Any of its controllers can be used to execute its functionality.

Launch:

Basic configuration

To launch the current component, an object VideoCallConfigurationData must be created, which will be the configuration of the component controller.

The basic configuration needed will not require any parameters:

Result reception

The launch will return the information in SdkResult format, allowing you to distinguish between a successful launch and an unsuccessful one:

Error handling

The errors will be returned as a 'VideoCallError' object.

Error list:

  • VCL_ACTIVITY_RESULT_MSG_ERROR: The activity result is incorrect

  • VCL_APPLICATION_CONTEXT_ERROR: The required application context is null

  • VCL_CANCEL_BY_USER: The user has cancelled the process

  • VCL_CANCEL_LAUNCH: A general SDK cancellation has been performed

  • VCL_COMPONENT_LICENSE_ERROR: The component License is incorrect

  • VCL_EMPTY_LICENSE: The license String is empty

  • VCL_FACE_DETECTION_TIMEOUT: No face has been detected

  • VCL_FETCH_DATA_ERROR: Error fetching the result

  • VCL_FLOW_ERROR: Error in the flow process

  • VCL_INITIALIZATION_ERROR: Initialization error

  • VCL_MANAGER_NOT_INITIALIZED: The managers are null

  • VCL_NETWORK_CONNECTION: Internet connection error

  • VCL_NO_DATA_ERROR: The input data are null

  • VCL_OPERATION_NOT_CREATED: There is no operation in progress

  • VCL_PERMISSION_ERROR: The user has rejected the permissions

  • VCL_SCREEN_SHARING_PERMISSION_ERROR: The user has rejected the screen sharing permission

  • VCL_SOCKET_ERROR: Error in the services connection

  • VCL_TIMEOUT: Timeout in the process

  • VCL_VIDEO_ERROR: Error in video processing

  • VCL_UNKNOWN_ERROR: Unknown error

  • VCL_VIDEO_CALL_ACTIVE: It cannot be started because there is already an active video call

  • VCL_VIDEO_RECORDING_ACTIVE: It cannot be started because the video recording process is active

Reception of the successful result - data

In the SdkResult.Success part - data, we will have the class VideoCallResult which will have a single property.

  • sharingScreen: Indicates whether the call is still active with screen sharing started.

When the result is Success and the flag sharingScreen screen sharing can be activated.


Advanced information

This section expands on the component information.

Advanced component configuration

To launch the current component, an object VideoCallConfigurationData must be created, which will be the configuration of the component controller.

Below are all the fields that are part of this class.

The fields included in the configuration, normally do not need to be provided since they are completed internally through the License used.

These fields are usually reported only when the server is On-Premise.

  • url: Path to the video socket.

  • apiKey: ApiKey required for the connection with the video socket.

  • tenantId: Tenant identifier referring to the current client, required for the connection with the video service.

  • activateScreenSharing: Activate the screen sharing option in the call.

  • timeout: Timeout for an agent to answer the call (ms).

Share screen

When the user activates the screen sharing functionality, the result will be received in the controller with "sharingScreen = true". This indicates that the call is still in progress.

To stop the call, the StopVideoCallController controller will be used.

The possible states are:

The state that indicates the call is fully finished is FINISH.


Component Customization

Besides the changes that can be made at SDK level (which are explained in the document of SDK Customization), this specific component allows its interface to be modified.

Texts

The texts can be customized by adding an XML resource file in the client application and overriding the default values.

Colors

Animations

If you want to modify the SDK animations (lottie), you must include the animations with the same name in the application's res/raw/ folder.

External views

It is possible to completely modify the component screens while maintaining their functionality and navigation. To do this, the following interfaces must be implemented:

Error diagnostic screen:

Once the classes implementing the interfaces have been created, when launching the component the "customViews" parameter can be added so that they are used in the SDK.

Last updated