SelfClient Provider Setup

The SelfClientProvider is a React context provider that must wrap all screens using the Mobile SDK. It configures the SDK with the necessary adapters and event listeners your app needs.

Basic Setup

import { 
  SelfClientProvider, 
  createListenersMap,
  type Adapters,
  type Config 
} from '@selfxyz/mobile-sdk-alpha';

const config: Config = {};

const adapters: Adapters = {
  // Required adapters
  auth: authAdapter,
  scanner: scannerAdapter, 
  network: networkAdapter,
  crypto: cryptoAdapter,
  documents: documentsAdapter,
  
  // Optional adapters (SDK provides defaults)
  analytics: analyticsAdapter,
  logger: loggerAdapter,
  clock: clockAdapter
};

const { map: listeners } = createListenersMap();

function App() {
  return (
    <SelfClientProvider 
      config={config}
      adapters={adapters} 
      listeners={listeners}
    >
      {/* Your app screens here */}
    </SelfClientProvider>
  );
}

Required Adapters

Auth Adapter

Manages private key access for cryptographic operations.

Scanner Adapter

Provides NFC scanning capabilities.

Network Adapter

Handles HTTP and WebSocket communications.

Crypto Adapter

Provides hashing and signing operations.

Documents Adapter

Handles document storage and retrieval.

Event Listeners & Navigation

Event listeners handle SDK events and route to appropriate screens in your app.

Common SDK Events

Event
Payload
Description

DOCUMENT_COUNTRY_SELECTED

{ countryCode, documentTypes }

User selected a country

DOCUMENT_TYPE_SELECTED

{ documentType, countryCode }

User selected document type

DOCUMENT_MRZ_READ_SUCCESS

{}

MRZ scanning completed successfully

DOCUMENT_MRZ_READ_FAILURE

{}

MRZ scanning failed

Last updated