react-native-newinstance-chat
v0.1.0
Published
New instance LiveAndAiChat React Native SDK — AI + live-agent chat, drop-in native chat screen for iOS and Android.
Readme
react-native-newinstance-chat
React Native bindings for LiveAndAiChat — drops a complete AI + live-agent chat experience into your iOS and Android RN app via native module bridges.
The chat UI, transport, attachments, image cache, typing indicators, and silent gap-fill resync all come from the native iOS / Android SDKs. This package is a thin TurboModule surface over them — your React Native code stays small.
Requirements
- React Native 0.74+ (TurboModule support — recommended 0.85+)
- iOS 15.1+
- Android API 24+, JDK 17
Installation
npm install react-native-newinstance-chat
# or
yarn add react-native-newinstance-chatiOS
cd ios && pod installAutolink pulls the NewinstanceChat podspec, which transitively depends
on LiveAndAiChat (the native SDK pod, published on CocoaPods Trunk).
Android
Autolink registers NewinstanceChatPackage. The underlying
cloud.newinstance:liveandaichat AAR is resolved from Maven Central —
ensure mavenCentral() is in settings.gradle.kts.
Quick start
import { NewinstanceChat } from 'react-native-newinstance-chat';
const sdk = new NewinstanceChat({
apiKey: 'sk_live_…',
});
sdk.setUser({
customerName: 'Ada Lovelace',
customerEmail: '[email protected]',
});
await sdk.initialize();
// Later, in response to a host button tap:
sdk.openChat();The chat screen renders natively — there is no React component to mount.
Your RN UI is whatever button / banner / FAB triggers openChat().
Subscribing to events
const unsub = sdk.addListener('messageReceived', (m) => {
console.log('rx <-', m.content);
});
// Later:
unsub();Event names: messageReceived, messageSent, agentTypingChanged,
connectionStateChanged, unreadCountChanged, error. See src/types.ts
for payload shapes.
Sending messages programmatically
sdk.sendMessage('Hi, I have a question.');
sdk.attachFile({ uri: 'file:///…', name: 'screenshot.png', mimeType: 'image/png' });
sdk.retryMessage(failedMessageId);Handoff to a live agent and typing indicators are driven automatically by the native chat screen — there's nothing to wire up from the host.
Tear-down
sdk.destroy();Call this when your host component unmounts. After destroy() the
instance is unusable — construct a new one if you need to chat again.
Contributing
License
MIT
