> ## Documentation Index
> Fetch the complete documentation index at: https://docs.capwrapper.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Native Features Overview

> Every Capwrapper build ships 40 native bridges — camera, GPS, push notifications, biometrics, QR scanning, analytics, and more. Three activation tiers.

Every Capwrapper build ships with 40 native bridges already compiled into your app. You do not install plugins, configure SDKs, or write native code. The bridges cover everything from camera and GPS to push notifications, biometrics, in-app purchases, and analytics — and the same JavaScript API works identically on iOS and Android.

## Detecting Capwrapper in your code

Before calling any native bridge, check whether your web app is running inside Capwrapper or in a regular browser. This lets you build progressive enhancements that degrade gracefully on the web.

```javascript theme={null}
if (window.isNativeApp) {
  // Running inside AppWrapper — native features available
  // window.platform is either 'ios' or 'android'
} else {
  // Running in a regular browser
}
```

Use `window.platform` to branch between iOS- and Android-specific behavior when needed.

<Tip>
  If you use an AI builder (Base44, Bolt, Lovable, Cursor, or Replit), paste any code snippet from this guide and describe the feature you want to add. The AI can implement the full integration for you.
</Tip>

## Three activation tiers

All 40 bridges are compiled into every build. How you unlock each one depends on the tier.

<CardGroup cols={3}>
  <Card title="Automatic" icon="bolt" color="#22C55E">
    **7 features** work from the very first launch with zero configuration and zero code.
  </Card>

  <Card title="Activate with code" icon="code" color="#3B82F6">
    **\~32 features** activate by adding a JavaScript snippet to your web app.
  </Card>

  <Card title="Needs external setup" icon="wrench" color="#F59E0B">
    **\~11 features** require an external account or a file on your domain. Capwrapper handles the app-side integration.
  </Card>
</CardGroup>

## All 40 native bridges

The table below lists every bridge and its JavaScript class name. Click the category pages to see usage examples.

### Core

| Bridge              | What it does                                            |
| ------------------- | ------------------------------------------------------- |
| `NativePrint`       | Print the current page, PDF files, or custom HTML       |
| `NativeOffline`     | Cache pages and assets; real-time online/offline events |
| `NativeAppLinks`    | Universal Links / App Links — URLs open in-app          |
| `NativeOTA`         | Over-the-air updates without app store re-submission    |
| `NativePerformance` | Preload URLs for instant navigation; clear cache        |

### Auth & security

| Bridge              | What it does                                                                     |
| ------------------- | -------------------------------------------------------------------------------- |
| `NativeSecurity`    | Root/jailbreak detection; encrypted Keychain (iOS) / SharedPreferences (Android) |
| `NativeSocialLogin` | Native Google, Facebook, and Apple sign-in via their SDKs                        |
| `NativePasskey`     | Passwordless login with Face ID or fingerprint (WebAuthn)                        |

### Device access

| Bridge                     | What it does                                               |
| -------------------------- | ---------------------------------------------------------- |
| `NativeDevice`             | Phone/tablet detection, screen size, orientation, platform |
| `NativeContacts`           | Read device contacts (name + phone number)                 |
| `NativeCalendar`           | Add events to the native calendar                          |
| `NativeHealth`             | Step count from Apple Health / Google Fit                  |
| `NativeBackgroundLocation` | Continuous GPS tracking while the app is in the background |
| `NativeConnectivity`       | WiFi/cellular/offline status, VPN detection, speed test    |

### Media & scanning

| Bridge                  | What it does                                                             |
| ----------------------- | ------------------------------------------------------------------------ |
| `NativeQRScanner`       | Scan QR codes and barcodes (EAN-8, EAN-13, Code 128, Code 39) via camera |
| `NativeDocScanner`      | Camera-based document scanner with edge detection and enhancement        |
| `NativeMediaPlayer`     | Native audio/video playback; audio continues in background               |
| `NativeBackgroundAudio` | Play audio when the app is backgrounded                                  |
| `NativeMedia`           | Play video and audio, stop playback                                      |
| `NativeScreenshot`      | Capture the current screen as an image                                   |
| `NativeFileUpload`      | Pick photos, documents, or any file from the device                      |

### UI & navigation

| Bridge             | What it does                                    |
| ------------------ | ----------------------------------------------- |
| `NativeUI`         | Native share sheet, alerts, and confirm dialogs |
| `NativeNavigation` | Set the title bar; open and close the drawer    |
| `NativeTabBar`     | Native bottom tab bar                           |
| `NativeSidebar`    | Native sidebar / drawer menu                    |
| `NativeSearch`     | Native search bar at the top of the screen      |
| `NativeOnboarding` | Welcome tutorial that remembers completion      |

### Engagement

| Bridge                | What it does                                            |
| --------------------- | ------------------------------------------------------- |
| `NativeNotifications` | Push notifications; schedule local notifications        |
| `NativeRating`        | Show the native "Rate this app" dialog                  |
| `NativeMessaging`     | Native popup with title, message, and CTA button        |
| `NativeInAppPurchase` | Subscriptions and digital goods via RevenueCat          |
| `NativeAdMob`         | Banner, interstitial, and rewarded ads via Google AdMob |
| `NativeReceipt`       | Purchase receipt validation                             |

### Data & storage

| Bridge            | What it does                                                  |
| ----------------- | ------------------------------------------------------------- |
| `NativeDatastore` | Encrypted key-value storage that persists across app restarts |
| `NativeDownload`  | Download files to the device's Downloads folder with progress |
| `NativeAnalytics` | Log custom events to Firebase Analytics                       |

### Maps & location

| Bridge       | What it does                                               |
| ------------ | ---------------------------------------------------------- |
| `NativeMaps` | Open addresses or coordinates in Apple Maps or Google Maps |

### Specialized

| Bridge            | What it does                                         |
| ----------------- | ---------------------------------------------------- |
| `NativeVoice`     | Speech-to-text for search, notes, and accessibility  |
| `NativeBeacon`    | Scan for BLE / iBeacon beacons nearby                |
| `NativeShareInto` | Receive content shared into your app from other apps |

## Explore by tier

<CardGroup cols={3}>
  <Card title="Automatic features" icon="bolt" href="/native-features/automatic-features">
    7 features that work with zero code from day one.
  </Card>

  <Card title="Code-activated features" icon="code" href="/native-features/code-activated-features">
    \~32 features you unlock with a JavaScript snippet.
  </Card>

  <Card title="External setup" icon="wrench" href="/native-features/external-setup">
    \~11 features that need an external account or domain file.
  </Card>
</CardGroup>
