Quick Start
Get Qafka running in your React Native app in 5 minutes.
Prerequisites
- React Native 0.72+
- Node.js 18+
- A Qafka account with a project
Recommended: CLI setup
The Qafka CLI installs the SDK, registers the Expo config plugin where applicable, and writes the development key the SDK reads at runtime — no apiKey prop required.
npm install -g qafka
cd your-react-native-project
qafka login
qafka initAfter qafka init, mount the widget with no props:
import { Qafka } from '@qafka/react-native'
export default function ChatScreen() {
return <Qafka />
}That’s it — your project’s theme, greeting, and tools load automatically. In production builds, the backend identifies the project via device attestation (App Attest / Play Integrity); no key ever ships in your bundle.
Need a different layout or color scheme? See mode (fullscreen / inline / floating) and theme (light / dark / custom) in the widget reference.
Manual installation
If you’d rather wire things up yourself:
npm install @qafka/react-nativePeer Dependencies
Required:
npm install react-native-safe-area-context @react-native-async-storage/async-storagereact-native-safe-area-context only needs to provide a <SafeAreaProvider> somewhere above the widget — Expo Router, React Navigation, and most RN starter templates already include one at the app root. You don’t need to wrap each <Qafka /> instance.
Optional (enables device info reporting and built-in navigation):
npm install react-native-device-info @react-navigation/nativeWithout the CLI you still need to make the development key available to the SDK at runtime — see Configuration for how qafka.config.js is loaded and how to register more than one project.
Next Steps
- Configuration — All SDK options
- React Native Widget — Full props reference and customization
- Theming — Customize colors, fonts, and layout