# Expo

freeRASP for React Native is a bare React Native plugin. When installing freeRASP into a project that uses Expo SDK, there may be extra configuration needed.&#x20;

To integrate freeRASP into the Expo projects, follow the instructions for React Native. After that, continue on this page.&#x20;

We provide a plugin config that sets up the dependencies of freeRASP without the need to eject the Expo project. It is recommended to use the plugin config. However, manual setup is also possible.

## Plugin config setup

Add the plugin config to your `app.json` and specify the `minSdkVersion` (use at least 23).&#x20;

```json
"plugins":[
    [
        "freerasp-react-native/app.plugin.js",
        {
            "android":{
                "minSdkVersion":"23",
            }
        }
    ]
]
```

<details>

<summary>Additional configuration for Expo SDK 50 projects or older</summary>

If you are using Expo 50, increase the version of R8 above 8.2 with the `R8Version` property [(to support sealed classes on Android)](https://github.com/talsec/Free-RASP-ReactNative/issues/60).

```json
"plugins":[
    [
        "freerasp-react-native/app.plugin.js",
        {
            "android":{
                "R8Version":"8.3.37"
            }
        }
    ]
]
```

</details>

## Manual setup

1. **Increase minSdkVersion**

   This can be done in two ways:

   * update the `minSdkVersion` property directly in `android/build.gradle`, or
   * use `expo-build-properties` plugin, which updates the property in the prebuild phase. [Read more in the Expo docs](https://docs.expo.dev/versions/latest/sdk/build-properties/).
2. **Add maven dependency**
   1. open `android/build.gradle` *(if you don't see the android folder, run `npx expo prebuild -p android` in terminal to create it)*

   2. add the following dependency under `allprojects` **>** `repositories`: <br>

      ```gradle
      maven { url "https://europe-west3-maven.pkg.dev/talsec-artifact-repository/freerasp" }
      ```

   3. if not already configured, add also:<br>

      ```gradle
      maven { url 'https://www.jitpack.io' }
      ```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.talsec.app/freerasp/freerasp/integration/react-native/expo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
