Support scope
| Item | Support |
|---|---|
| SDK version | @flashcatcloud/mobile-react-native 0.1.x (≥ 0.1.1 recommended) |
| Target platforms | iOS and Android (React Native Web / macOS / Windows are not supported) |
| React Native | >= 0.63.4 < 1.0; the new architecture (Fabric / TurboModules) is verified on 0.76 |
| iOS | Deployment target ≥ 12.0 |
| Android | minSdkVersion ≥ 21 |
| Native dependencies | Android cloud.flashcat:dd-sdk-android-* 0.5.x (Maven Central); iOS Flashcat* pods ~> 0.5 (CocoaPods trunk) |
| RUM data source | Events are always written with source: "react-native" |
| Implementation | React Native native modules wrapping the native iOS / Android SDKs |
| Data reporting | POST /api/v2/rum |
Packages and capabilities
| Package | npm name | Description |
|---|---|---|
| RUM / Core / Crash | @flashcatcloud/mobile-react-native | Initialization, configuration, RUM (view / action / resource / error / session), native crash collection, Android source map upload script |
| react-navigation view tracking | @flashcatcloud/mobile-react-navigation | Records NavigationContainer route changes as views |
| react-native-navigation view tracking | @flashcatcloud/mobile-react-native-navigation | Records screen changes of Wix react-native-navigation (^7.5.0) as views |
| WebView tracking | @flashcatcloud/mobile-react-native-webview | Associates Browser RUM data inside react-native-webview (>= 11.0.0) |
| Source map upload | @flashcatcloud/flashcat-cli | The sourcemaps upload-react-native command (≥ 0.4.0) |
JavaScript class names begin with
Dd* (DdSdkReactNative, DdSdkReactNativeConfiguration, DdRum, DdLogs). Keep the default site = 'CN' on the public cloud; configure full customEndpoints for on-premises deployments.Supported automatic collection
| Capability | Support | Description |
|---|---|---|
| Automatic views | Supported (companion package required) | The tracking package for react-navigation or react-native-navigation; manage views with DdRum.startView for other navigation solutions |
| Automatic actions | Supported | trackInteractions: true; collects taps on components with onPress |
| Automatic resources | Supported (JS requests only) | trackResources: true; intercepts XMLHttpRequest / fetch, always recorded as xhr |
| Unhandled JS exceptions | Supported | trackErrors: true |
| Native crashes | Supported | Requires nativeCrashReportEnabled: true |
| Distributed tracing | Supported | Injects W3C traceparent and Datadog trace headers for hosts matched by firstPartyHosts |
| Native mobile vitals | Supported | CPU, memory, refresh rate, slow / frozen frames; iOS additionally reports app launch time (cold / warm) |
| JS-thread frame rate | Supported | React Native-specific metric, shown on the console’s Performance page |
| Hang detection | Supported | ANR on Android; App Hang on iOS once appHangThreshold is set |
| Long tasks | Supported | Native main thread enabled by default (200 ms); JS thread disabled by default, enabled through longTaskThresholdMs |
| WebView tracking | Supported (companion package required) | @flashcatcloud/mobile-react-native-webview |
Current limitations
| Limitation | Description |
|---|---|
| Session Replay | Not supported |
| Logs | DdLogs only sends logs on Android; it is a no-op on iOS and sends nothing |
| Static resources | Only requests issued from JavaScript are collected; images, fonts, and other resources loaded by the native networking stack such as <Image> are not collected, and the console does not show static-resource panels for React Native applications |
| Resource type | Every collected request is recorded as xhr, regardless of the response Content-Type |
| Android app launch time | No app launch vital on Android yet; iOS reports cold / warm launch time |
| Platform scope | iOS / Android only; React Native Web is not supported |
| Minimum version | 0.1.1 or later is recommended; in 0.1.0 the Android release build fails when FLASHCAT_API_KEY is missing |
Symbolication compatibility
React Native error stacks may contain both JS frames and native frames, which are resolved differently:| Frame type | File to upload | Upload method |
|---|---|---|
| JavaScript (Android) | Source map of the release bundle | Uploaded automatically by flashcat-sourcemaps.gradle during the build |
| JavaScript (iOS) | Source map of the release bundle | flashcat-cli sourcemaps upload-react-native --platform ios |
| iOS native | dSYM | flashcat-cli dsyms upload; always required |
| Android native (JVM) | mapping file | Flashcat Android Gradle plugin; only when code shrinking is enabled |
| Android native (NDK) | NDK symbol files | Same plugin, when the app ships native code |
JS source maps are matched by service + version + bundle file name and do not depend on the Metro debug ID plugin. Keep the SDK’s
serviceName / version consistent with the upload parameters, and make the upload part of every release build.Native crashes additionally require nativeCrashReportEnabled to be set to true (off by default). Both kinds of symbol files are covered in Advanced configuration.