Mobile SDKs (React Native & Flutter)
Put the Orki chat inside your mobile app. Both SDKs host the same chat experience your web visitors get, with a native bridge for authenticated identity, lifecycle events, and a push-token seam.
| Platform | Package |
|---|---|
| React Native | @orki/webchat-react-native |
| Flutter | orki_webchat |
React Native
npm install @orki/webchat-react-native react-native-webview
import { useRef } from 'react';
import { OrkiWebchat, OrkiWebchatHandle } from '@orki/webchat-react-native';
function SupportScreen({ orkiUserJwt }) {
const chat = useRef<OrkiWebchatHandle>(null);
return (
<OrkiWebchat
ref={chat}
baseUrl="https://app.orki.ai"
tenantId="YOUR_TENANT_ID"
integrationId="YOUR_INTEGRATION_ID"
language="en"
userJwt={orkiUserJwt}
onEvent={(e) => {
if (e.type === 'auth-required') {
// fetch a fresh JWT from YOUR backend, then:
// chat.current?.updateToken(freshJwt)
}
}}
/>
);
}
Flutter
dependencies:
orki_webchat: ^0.1.0
final controller = OrkiWebchatController();
OrkiWebchatWidget(
baseUrl: 'https://app.orki.ai',
tenantId: 'YOUR_TENANT_ID',
integrationId: 'YOUR_INTEGRATION_ID',
language: 'en',
userJwt: orkiUserJwt,
controller: controller,
onEvent: (event) {
if (event.type == 'auth-required') {
// fetch a fresh JWT from YOUR backend, then: controller.updateToken(freshJwt)
}
},
)
Shared surface
Both SDKs expose the same operations:
| Operation | Purpose |
|---|---|
setUser(jwt) | Set/replace the visitor identity (tenant-signed JWT, minted on your server) |
updateToken(jwt) | Refresh the JWT in place — no widget reload, the conversation continues |
logout() | Clear the widget identity + stored session when the user signs out of your app |
setPushToken(token) | Capture seam — push delivery ships later; wiring it now keeps you ready |
| events | ready, auth-required, user-set, auth-error, message (unread count), navigate |
Anonymous mode
Works out of the box: the widget runs its bot check inside the WebView. Keep JavaScript and DOM storage enabled (both SDKs do this by default).
Building your own UI instead?
Use the Customer Chat API with @orki/chat-core (JS/TS) or the
OrkiChatClient class that ships inside orki_webchat (Dart).