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