RealTimeX
Sign inStart for free
RealTimeXMobile Package
Introduction5-minute overviewFeaturesHow the package worksGlossary
Requirements & dependenciesBackend credentialsInstallation step by stepTutorial — your first chat appProject config fileApp entry — index.jsQuick start — minimum working chatComplete ChatScreen example
Native configuration (iOS & Android)Firebase, APNs & backend setup
Navigation — embedding the chatSession, auth & Socket.IOPermissions & access controlAudio & video callingPush notificationsMentions viewRich-text messages (WebView editor)Total unread count
Customization — four waysDefault component fallback (important)Which slots are wiredCustomization examples (Case 1–4)UI feature flags & copy (ui)Chat info (group + DM)Style overrides (ui.styles)Render props (ChatProvider)Theme, fonts & appearance
ChatProvider props referenceconfigureChat options referenceHooks & storeCallbacks referenceAPI query paramsAll exports
Production integration pattern (Fieldr)Host app integration — providers, toasts, tab bars & navigationEnvironment variablesLocal package / monorepo (Metro)
TroubleshootingSetup checklistArchitectureDocumentation & file mapPackage development (maintainers)License
Mobile packageGetting Started

Backend credentials

FieldExampleNotes
clientId"6a35339216e46130366cda93"RealtimeX tenant / client id
accessTokenJWT string, or () => string | undefinedYour host app's user token. The package exchanges it for a chat session (bootstrapChatSession). A getter is re-read on every request
apiUrlhttps://realtimex.softwareco.com/api/v1Chat REST base — must end with /api/v1
socketUrlhttps://realtimex.softwareco.comSocket.IO origin; connects at /connection. A trailing /api/vN is stripped. Optional — derived from apiUrl when omitted
callUrihttps://realtimex.softwareco.com/api/v2Calls and notifications REST base. Optional — falls back to env VIDEO_AUDIO_CALL_URL, then https://realtimex.softwareco.com/api/v2/

Warning

Important — user identity: the package reads email / name from the host JWT. If your JWT has no email claim, call bootstrapChatSession({ email, name, clientId, hostAccessToken }) yourself (see Session helpers). When the email changes (a different user signs in), the previous chat session is reset automatically.
PreviousRequirements & dependenciesNextInstallation step by step