Instana React Native Agent
Changelog |
Contributing
Installation
Node.js Dependency
npm install --save @instana/react-native-agent
Android
Android will require you to take 2 extra steps in order to support automatic tracking of network requests.
Supported React Native versions:
For React Native 0.63.3 or earlier, please use:
- Instana Android Plugin 1.5.6
- Android Gradle Plugin 3.4.2
- Gradle 5.5
For React Native 0.63.4 or later, please use:
- Instana Android Plugin 4.5.6
- Android Gradle Plugin 4.1.0
- Gradle 6.5
Steps
Add the Instana Android agent plugin to your dependencies via android/build.gradle
:
buildscript {
dependencies {
classpath "com.instana:android-agent-plugin:$INSTANA_ANDROID_PLUGIN_VERSION"
}
}
Apply the Instana Android agent plugin via android/app/build.gradle
file (at the top):
apply plugin: 'com.android.application'
apply plugin: 'com.instana.android-agent-plugin'
iOS
Your project needs to contains at least one Swift file (it can be empty). If you don't have any, please open your Xcode Project in <YourReactNativeProject>/ios
and add an empty Swift file. Please also let Xcode create the Bridging Header for you.
Usage
Please refer to our React Native API documentation.
Recommendation
We recommend adding http://localhost:8081
to the ignored URLs list to prevent the Agent from tracing communication with the Metro bundler:
Instana.setIgnoreURLsByRegex(["http:\/\/localhost:8081.*"]);
Known Issues
Android: fetch(url)
If your app uses fetch
to complete network requests, you might find your app crashing on runtime whenever fetch
is used after linking Instana React Native Agent : No virtual method toString(Z)Ljava/lang/String;
If you encounter this issue before the upstream issue is solved, please apply the following workaround. Add the following to your Android module-level gradle file (usually app/gradle.build
):
dependencies {
implementation "com.squareup.okhttp3:okhttp:4.3.1"
implementation "com.squareup.okhttp3:okhttp-urlconnection:4.3.1"
}