Skip to main content
Around 32 native bridges are dormant until your JavaScript calls them. You add the snippet directly to your web app — in a click handler, a lifecycle hook, or wherever makes sense for your product. No native code, no Xcode, no rebuild is required. Capwrapper’s runtime receives the call and executes the native behavior on the device. Always wrap bridge calls in an isNativeApp check so your web app continues to work in browsers:
The features below are grouped by category.

Printing and sharing

Opens the native print dialog. You can print the current page, a remote PDF by URL, or any custom HTML string.
Opens the native share menu (WhatsApp, Messages, Email, AirDrop, and any app the user has installed), or shows a native alert or confirm dialog instead of a browser popup.

Scanning

Opens the device camera in a native scanner view. Supports QR codes, EAN-8, EAN-13, Code 128, and Code 39. Calls your callback the moment a code is detected.
Opens a document scanning view with automatic edge detection, perspective correction, and image enhancement. Returns a cropped, enhanced image you can upload or display.

Voice and maps

Starts the device’s native speech recognition engine. Useful for search fields, note-taking, and accessibility. The transcript is delivered to your callback as the user speaks.
Opens the address or coordinates in Apple Maps (iOS) or Google Maps (Android), optionally starting turn-by-turn navigation.

Files and media

Downloads a file from a URL to the device’s Downloads folder with a native progress indicator. The user is notified when the download completes.
Opens the native file picker or photo library. Returns the selected file so you can upload it to your server or process it locally.
Plays audio or video using the native media player. Audio continues playing when the app is moved to the background, and the lock screen controls appear automatically.
Captures the current screen contents and returns the image as a base64 string. Useful for sharing, bug reports, or in-app feedback flows.

Notifications and engagement

Schedules a notification that appears in the device notification tray even when the app is closed. No server required for local notifications.
Sending push notifications from your server requires a Firebase project. See Push notifications in the external setup guide.
Shows the native “Rate this app” dialog built into iOS and Android. Apple enforces a maximum of three prompts per year per user, so call this only at a natural high-engagement moment.
Shows a native modal with a title, a message body, and a call-to-action button. Useful for feature announcements, upgrade prompts, or contextual help.

Storage and data

Stores arbitrary string values in encrypted native storage. Data survives app restarts and OS-level background termination. Ideal for user preferences, cached tokens, or local state.
Stores sensitive values (tokens, PINs, secrets) in the iOS Keychain or Android EncryptedSharedPreferences. Also detects rooted or jailbroken devices so you can block access to security-sensitive features.
Sends named events with optional parameters to Firebase Analytics. Requires a Firebase project — see Firebase Analytics in the external setup guide.

Device and network

Returns information about the device type, screen dimensions, current orientation, and platform.
Returns the current connection type, whether a VPN is active, and optionally runs a speed test.

UI and navigation

Sets the navigation bar title and toggles the side drawer open or closed from JavaScript.
Renders a native bottom tab bar with icons and labels. Tapping a tab posts a message to your web app so you can navigate to the correct page.
Renders a native side drawer with a list of menu items and optional icons.
Places a native search input at the top of the screen. Results filtering happens in your web app; the bridge just provides the native input and keyboard behavior.
Shows a multi-step onboarding flow the first time the user opens the app. Completion is stored in native storage so the flow never repeats unless you reset it.

Other bridges

Requests permission and reads the user’s contacts. Returns an array of names and phone numbers.
Creates an event in the device’s default calendar app. The user is shown a native confirmation before the event is saved.
Fires a callback whenever the device goes online or offline, giving you real-time control over your UI state.
Pushes a new version of your web app to users immediately, bypassing the app store review cycle. Ideal for content updates and bug fixes that do not require a native change.
Preloads one or more URLs in the background so navigation to those pages feels instant. Also exposes a cache-clearing utility.
Scans for nearby iBeacon or Eddystone BLE beacons. Useful for proximity-based features like indoor navigation, store check-ins, or attendance tracking.
Registers your app as a share target so users can share URLs, text, images, and files into your app from Safari, Photos, and other apps. Requires external setup — see Share into app.

If you use an AI builder such as Base44, Bolt, Lovable, Cursor, or Replit, paste the snippet above into your project and describe the feature. The AI can wire up the full integration for you.

Next steps

External setup features

Some bridges need an external account — Firebase, RevenueCat, AdMob, and more. Start here if you need push notifications, in-app purchases, or ads.

All 40 bridges

Return to the overview for a full table of every bridge and its tier.