Control Recording

The following API allows you to control when the session gets recorded.

Start Recording

Start the UXCam application to verify the API key with the server, get the settings configurations and start capturing the data according to the configuration.

UXCam.start(withKey appKey: String)
    
//With completion handler
UXCam.start(withKey appKey: String, completionBlock sessionStartedBlock: ((Bool) -> Void)? = nil)
UXCam.startWithKey(String appKey);
RNUxcam.startWithKey: (appKey: string) => void
void startWithKey(String appKey)
UXCam.StartWithKey(string appKey);
UXCam.startWithKey: (appKey: string) => void

📘

The API parameters are:
appKey: App-key (found on UXCam dashboard).
completionBlock: Optional (iOS only).

🚧

Important: Please keep in mind that you just need one call of this method per session to avoid any type of inconsistencies.

Stop Recording

UXCam automatically stops a session when the app goes to the background. Using this API you are going to be able to stop a session and upload it.

This is useful for:

  • Recording a specific flow without sending the application to the background.
  • Sending data (events, gestures, etc.) in a session without the closure of an app.
UXCam.stopSessionAndUploadData()

//With completion handler
UXCam.stopSessionAndUploadData(_ block: (() -> Void)? = nil)
UXCam.stopSessionAndUploadData();
RNUxcam.stopSessionAndUploadData: () => void
void stopSessionAndUploadData()
void UXCam.StopSessionAndUploadData()
UXCam.stopSessionAndUploadData: () => void

Allow a Short Break for Another App

This API allows the user to take a short trip to another app without causing a break in the current session.

This is useful when users need to use another app to complete a certain process like:

  • A login using Google, Facebook, etc.
  • Navigating to another URL using an external browser.
  • Taking a picture in order to complete a setup process.
  • Getting the OTP and/or verification email to complete a process.
  • Obtaining the confirmation of a payment through an external resource.
UXCam.allowShortBreak(forAnotherApp continueSession: Bool)

//With waiting time
UXCam.setAllowShortBreakMaxDuration(duration: Double)
UXCam.allowShortBreakForAnotherApp(boolean continueSession);
    
//With waiting time
UXCam.allowShortBreakForAnotherApp(int timeInMilliseconds);
RNUxcam.allowShortBreakForAnotherApp: (continueSession: number | boolean) => void
void allowShortBreakForAnotherApp(bool continueSession)
void UXCam.AllowShortBreakForAnotherApp(bool continueSession)
    
//Android only
void UXCam.AllowShortBreakForAnotherApp(int timeInMilliseconds)
UXCam.allowShortBreakForAnotherApp: (continueSession: boolean) => void

📘

The API parameters are:
continueSession: Set to TRUE to continue the current session after a short trip out to another app. Default is FALSE - stops the session as soon as the app enters the background.
timeInMilliseconds: JUST FOR Android - Time to wait before closing current session. By default the method will wait 180000ms (3 min) to end the session.
duration: JUST FOR iOS - Set to the duration of break allowed.

🚧

Important: To avoid any inconsistencies, set allowShortBreak(true) before navigating to another app and call allowShortBreak(false) after returning to the app.

Add Verification Listener

With this API you are going to be able to get the verification status when UXCam starts recording a session.

By getting this you are going to be able to:

  • Send events to UXCam as soon as the session starts.
  • Log the current UXCam session URL or the user URL to other 3rd party services such as Firebase.
Doesn't exist on iOS - use startWithKey with completion handler.
UXCam.addVerificationListener(OnVerificationListener listener)

//Example:
    UXCam.addVerificationListener(new OnVerificationListener() {
        @Override
        public void onVerificationSuccess() {
            //Do Something here
        }

        @Override
        public void onVerificationFailed(String errorMessage) {
            //Do Something here
        }
    });

//To remove
UXCam.removeVerificationListener(OnVerificationListener listener);
import { NativeModules, NativeEventEmitter } from 'react-native';

const emitter = new NativeEventEmitter(NativeModules.RNUxcam)
this.uxcamListener = emitter.addListener('UXCam_Verification_Event', async (status) => {
    if (status.success){
        //Do Something here
    }
})

//To remove
uxcamListener.remove()
Not supported
//Android only - use callback action for iOS.
UXCam.AddVerificationListener(OnVerificationListener listener)

//Example:
    UXCam.AddVerificationListener(new IOnVerificationListener());
    class IOnVerificationListener : Java.Lang.Object, Com.UXCam.IOnVerificationListener
    {
        public void OnVerificationFailed(string p0)
        {
            //Do Something here
        }

        public void OnVerificationSuccess()
        {
            //Do Something here
        }
    }

//To remove
UXCam.RemoveVerificationListener(OnVerificationListener listener);
Not supported