Skip to main content

React Native Integration

Getting Started

This guide will walk you through integrating Embrace into your React Native application with a series of articles. We recommend following them in order, although you are free to skip around.

Requirements

info

Note that our minimum requirements on the native side tend to be a bit higher than those set by react-native init or @react-native-community/cli init by default for a fresh React Native project, please double-check that your project is configured correctly for the SDK to run. You may find these app templates that we've setup for integration testing useful as a guide for bringing your project up to the minimum required configuration.

Android

  • Android: Android 7.0 (API 24)
  • minSdkVersion: 24 or higher
  • compileSdkVersion: 34 or higher
  • Java 1.8
  • Kotlin 1.8.22
  • Gradle 7.5.1
  • AGP (Android Gradle Build Tools Plugin) 7.4.2

iOS

  • iOS 13.0
  • Swift 5
  • Known incompatibilities
    • @datadog/mobile-react-native. More details here.

Supported versions of React Native

We test that apps integrated with Embrace across React Native minor versions from 0.71 to 0.76 build and launch without issue. Apps on versions of React Native older than 0.71 may work with Embrace after some modification but these are not directly supported. The templates used to generate apps for integration testing along with the exact patch versions of React Native we use can be found here.

Expo

Apps using Expo should work with Embrace however setup of our SDK does require modification of files within your project's native android/ and ios/ folders, as such those directories need to be created by running expo prebuild (or equivalently for older versions the project must be ejected using expo eject).

We are developing an Expo Config plugin to better integrate with the framework, you can follow this issue to be notified of progress.