SDK Functions
Here's a list of all the functions and hooks supported by the UserView React Native SDK.
Imperative API
All methods are accessed through the default Upscope import or the useUpscope() hook.
import Upscope from '@upscopeio/react-native-sdk';
Connection Management
| Function | Description |
|---|---|
connect() | Establishes a WebSocket connection to the servers. |
disconnect() | Closes the connection and ends any active session. |
reset(reconnect?: boolean) | Resets the connection, clearing all stored identities and visitor data. Pass false to stay disconnected after reset. Defaults to true. |
Session Control
| Function | Description |
|---|---|
stopSession() | Ends the current screen sharing session. |
requestAgent() | Signals that the visitor wants assistance from an agent. |
cancelAgentRequest() | Cancels a pending agent request. |
getLookupCode() | Requests a 4-digit lookup code from the server. Access the code via the useLookupCode() hook or lookupCodeChanged event. |
sendCustomMessage(message: string) | Sends a custom text or JSON message to the agent (max 5000 characters). |
State
| Function | Return Type | Description |
|---|---|---|
getShortId() | Promise | The visitor's unique short ID assigned by the server. |
getWatchLink() | Promise | The full URL where agents can view the session (https://upscope.com/w/{shortId}). |
Visitor Identification
Use updateConnection() to set or update visitor identity:
Upscope.updateConnection({
uniqueId: 'user-123',
callName: 'John Smith',
tags: ['#VIP'],
identities: ['John Smith', 'john@example.com'],
metadata: { plan: 'enterprise', region: 'US' },
});
Only provided fields are updated. Omit a field to keep its existing value.
React Hooks
All hooks are reactive — components re-render automatically when the underlying state changes.
import {
useConnectionState,
useSessionState,
useShortId,
useLookupCode,
useUpscope,
} from '@upscopeio/react-native-sdk';
`useConnectionState()`
Returns the current connection state.
const connectionState = useConnectionState();
// "inactive" | "connecting" | "connected" | "reconnecting" | "error"
`useSessionState()`
Returns the current session state.
const sessionState = useSessionState();
// "inactive" | "pendingRequest" | "active" | "paused" | "ended"
`useShortId()`
Returns the visitor's short ID, or null if not yet assigned.
const shortId = useShortId();
`useLookupCode()`
Returns the current lookup code, or null if not yet generated.
const lookupCode = useLookupCode();
`useUpscope()`
Returns a stable object of imperative action methods. Safe to use as a dependency in useCallback / useEffect.
const {
connect,
disconnect,
stopSession,
requestAgent,
cancelAgentRequest,
sendCustomMessage,
getLookupCode,
reset,
} = useUpscope();
Masking
Hide sensitive content from agents during screen sharing using the UpscopeMasked component.
import { UpscopeMasked } from '@upscopeio/react-native-sdk';
<UpscopeMasked>
<TextInput secureTextEntry placeholder="Credit Card Number" />
</UpscopeMasked>
UpscopeMasked accepts all standard View props and replaces the wrapped region with a black rectangle in the agent's view. The user sees the real content as normal.
