Userbubble
SdksReact native

React Native SDK

Userbubble SDK for React Native and Expo applications

Overview

The Userbubble React Native SDK lets you embed your feedback portal directly inside your mobile app using a WebView. Users stay in your app while interacting with feedback, roadmap, and changelog — no browser redirect needed.

Key Features

  • Embedded WebView: Show your full feedback portal inside your app with getEmbedUrl() + <WebView>
  • In-App Browser: Alternatively open Userbubble in the device browser with openUserbubble()
  • Platform Support: Works with both Expo and bare React Native projects
  • Automatic Storage: Auto-detects and uses the appropriate secure storage solution
  • TypeScript: Full TypeScript support with complete type definitions
  • Lightweight: Minimal dependencies and small bundle size

Example Usage

import { UserbubbleProvider, useUserbubble } from "@userbubble/react-native";
import { Modal, View } from "react-native";
import { WebView } from "react-native-webview";

function App() {
  return (
    <UserbubbleProvider config={{ apiKey: "ub_live_xxxxx" }}>
      <MyApp />
    </UserbubbleProvider>
  );
}

function MyApp() {
  const { identify, getEmbedUrl, isIdentified } = useUserbubble();
  const [showFeedback, setShowFeedback] = useState(false);
  const url = getEmbedUrl("/feedback");

  return (
    <>
      <Button title="Give Feedback" onPress={() => setShowFeedback(true)} />

      {url ? (
        <Modal
          visible={showFeedback}
          presentationStyle="formSheet"
          animationType="slide"
          onRequestClose={() => setShowFeedback(false)}
        >
          <WebView source={{ uri: url }} style={{ flex: 1 }} />
        </Modal>
      ) : null}
    </>
  );
}

Next Steps

Start by installing the SDK or jump straight to the quick start guide.

On this page