npm install --save @instana/react-native-agent
Android will require you to take 2 extra steps in order to support automatic tracking of network requests.
- Instana React Native 2.0.6
- Instana Android Plugin 6.0.14
- Android Gradle Plugin 7.2.2 or later
- Gradle 7.3.3 or later
For React Native 0.63.3 or earlier, please use:
- Instana React Native 1.7.0
- Instana Android Plugin 1.6.1
- Android Gradle Plugin 3.4.2
- Gradle 5.5
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'
Your project needs to contain 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.
Please refer to our React Native API documentation.
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.*"]);
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"
}