# Expo Plugin for LiveKit React Native SDK

<!--BEGIN_DESCRIPTION-->
This plugin handles the setup required for Expo projects to use the [LiveKit React Native SDK](https://github.com/livekit/client-sdk-react-native).
<!--END_DESCRIPTION-->

## Installation for managed Expo projects

```sh
npx expo install livekit-client @livekit/react-native @livekit/react-native-expo-plugin @livekit/react-native-webrtc @config-plugins/react-native-webrtc
```

### Configure app.json

After installing this npm package, add the config plugin to the plugins array of your app.json or app.config.js:

```
{
  "expo": {
    "plugins": ["@livekit/react-native-expo-plugin", "@config-plugins/react-native-webrtc"]
  }
}
```

This plugin optionally takes in an [object to customize the configuration](https://github.com/livekit/client-sdk-react-native-expo-plugin/blob/main/plugin/src/index.ts):

**Android**

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `audioType` | `"media"` \| `"communication"` | `"communication"` | Audio type for the Android audio session. |
| `enableScreenShareService` | `boolean` | `false` | When `true`, uses a default foreground service to enable screen sharing (requires `android.permission.FOREGROUND_SERVICE` and `android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION` permissions). |

**iOS**

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `enableMultitaskingCameraAccess` | `boolean` | `false` | When `true`, prepares the package for background camera access (only on iOS 18+, and requires the `voip` UIBackgroundMode). |

Example:

```json
{
  "expo": {
    "plugins": [
      [
        "@livekit/react-native-expo-plugin",
        {
          "android": {
            "audioType": "communication"
          },
          "ios": {
            "enableMultitaskingCameraAccess": false
          }
        }
      ]
    ]
  }
}
```

## Installation in React Native projects

Config plugins are not supported in React Native projects. Read the [installation guide on the React Native SDK](https://github.com/livekit/client-sdk-react-native?tab=readme-ov-file#installation) to see how to setup in a React Native project.

<!--BEGIN_REPO_NAV-->
<br/><table>
<thead><tr><th colspan="2">LiveKit Ecosystem</th></tr></thead>
<tbody>
<tr><td>Real-time SDKs</td><td><a href="https://github.com/livekit/components-js">React Components</a> · <a href="https://github.com/livekit/client-sdk-js">JavaScript</a> · <a href="https://github.com/livekit/client-sdk-swift">iOS/macOS</a> · <a href="https://github.com/livekit/client-sdk-android">Android</a> · <a href="https://github.com/livekit/client-sdk-flutter">Flutter</a> · <b>React Native</b> · <a href="https://github.com/livekit/client-sdk-rust">Rust</a> · <a href="https://github.com/livekit/client-sdk-python">Python</a> · <a href="https://github.com/livekit/client-sdk-unity-web">Unity (web)</a> · <a href="https://github.com/livekit/client-sdk-unity">Unity (beta)</a></td></tr><tr></tr>
<tr><td>Server APIs</td><td><a href="https://github.com/livekit/server-sdk-js">Node.js</a> · <a href="https://github.com/livekit/server-sdk-go">Golang</a> · <a href="https://github.com/livekit/server-sdk-ruby">Ruby</a> · <a href="https://github.com/livekit/server-sdk-kotlin">Java/Kotlin</a> · <a href="https://github.com/livekit/client-sdk-python">Python</a> · <a href="https://github.com/livekit/client-sdk-rust">Rust</a> · <a href="https://github.com/agence104/livekit-server-sdk-php">PHP (community)</a></td></tr><tr></tr>
<tr><td>Agents Frameworks</td><td><a href="https://github.com/livekit/agents">Python</a> · <a href="https://github.com/livekit/agent-playground">Playground</a></td></tr><tr></tr>
<tr><td>Services</td><td><a href="https://github.com/livekit/livekit">Livekit server</a> · <a href="https://github.com/livekit/egress">Egress</a> · <a href="https://github.com/livekit/ingress">Ingress</a> · <a href="https://github.com/livekit/sip">SIP</a></td></tr><tr></tr>
<tr><td>Resources</td><td><a href="https://docs.livekit.io">Docs</a> · <a href="https://github.com/livekit-examples">Example apps</a> · <a href="https://livekit.io/cloud">Cloud</a> · <a href="https://docs.livekit.io/oss/deployment">Self-hosting</a> · <a href="https://github.com/livekit/livekit-cli">CLI</a></td></tr>
</tbody>
</table>
<!--END_REPO_NAV-->
