Describe your issue here
I upgraded project from RN59 to RN60.6.
I used fabric crashlytics so far and working fine.
I wanted to move to firebase crashlytics I am using rn-firebase 5.5.6.
I followed documentation for v5.x step by step.
Application is compiled by:
react-native run-android --variant=release
Crash logs are not logged in console by:
firebase.crashlytics().log('Test Message!');
firebase.crashlytics().recordError(37, 'Test Error');
firebase.crashlytics().crash();
This crash app with following error in logcat:
java.lang.ArrayIndexOutOfBoundsException: length=2; index=10
12-03 12:16:46.682 23200 23295 E AndroidRuntime: at com.crashlytics.android.core.CrashTest.indexOutOfBounds(CrashTest.java:30)
But still nothing recorded on firebase crashlytics dashboard.
I don't have fabric.properties in android project.
In IOS I deleted fabric.framework and crashlytics.framework.
And installed via pod update like in docs.
I deleted RunScript that looked like:
./Fabric.framework/run f23776
with
"${PODS_ROOT}/Fabric/run"
I also removed fabric from Info.plist
<key>Fabric</key>
platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
target 'App' do
# Pods for Scoutsss
pod 'React', :path => '../node_modules/react-native/'
pod 'React-Core', :path => '../node_modules/react-native/React'
pod 'React-DevSupport', :path => '../node_modules/react-native/React'
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
pod 'GoogleMaps'
pod 'Firebase/Messaging'
pod 'Firebase/DynamicLinks'
pod 'Fabric', '~> 1.10.2'
pod 'Crashlytics', '~> 3.13.2'
permissions_path = '../node_modules/react-native-permissions/ios'
pod 'Permission-Camera', :path => "#{permissions_path}/Camera.podspec"
pod 'Permission-Contacts', :path => "#{permissions_path}/Contacts.podspec"
pod 'Permission-LocationAlways', :path => "#{permissions_path}/LocationAlways.podspec"
pod 'Permission-LocationWhenInUse', :path => "#{permissions_path}/LocationWhenInUse.podspec"
pod 'Permission-MediaLibrary', :path => "#{permissions_path}/MediaLibrary.podspec"
pod 'Permission-Microphone', :path => "#{permissions_path}/Microphone.podspec"
pod 'Permission-Motion', :path => "#{permissions_path}/Motion.podspec"
pod 'Permission-Notifications', :path => "#{permissions_path}/Notifications.podspec"
pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary.podspec"
use_native_modules!
end
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath('com.android.tools.build:gradle:3.5.0')
classpath 'com.google.gms:google-services:4.2.0'
classpath 'io.fabric.tools:gradle:1.28.1'
dependencies {
implementation project(':react-native-firebase')
implementation "com.google.firebase:firebase-messaging:17.+"
implementation 'me.leolin:ShortcutBadger:1.1.21@aar' // Use badge on Android
implementation "com.google.firebase:firebase-invites:15.0.1"
implementation "com.google.firebase:firebase-core:15.0.2"
implementation('com.crashlytics.sdk.android:crashlytics:2.9.9@aar') {
transitive = true
}
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="true" />
Click To Expand
#### Have you converted to AndroidX? **YES** - [x ] my application is an AndroidX application? - [x ] I am using `android/gradle.settings` `jetifier=true` for Android compatibility? - [x ] I am using the NPM package `jetifier` for react-native compatibility? #### `android/build.gradle`:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 21
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
appCompatVersion = "1.0.2"
supportV4Version = "1.0.0"
mediaCompatVersion = "1.0.1"
googlePlayServicesLocationVersion = "17.0.0"
}
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath('com.android.tools.build:gradle:3.5.0')
classpath 'com.google.gms:google-services:4.2.0'
classpath 'io.fabric.tools:gradle:1.28.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
google()
jcenter()
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
// Google now hosts their latest API dependencies on their own maven server.
// React Native will eventually add this to their app template.
maven {
url('https://maven.google.com')
}
maven {
url("$rootDir/../node_modules/react-native-background-fetch/android/libs")
}
maven {
url("https://jitpack.io")
}
}
}
#### `android/app/build.gradle`:
apply plugin: "com.android.application"
apply plugin: "io.fabric"
import com.android.build.OutputFile
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
* and their defaults. If you decide to add a configuration block, make sure to add it before the
* `apply from: "../../node_modules/react-native/react.gradle"` line.
*
* project.ext.react = [
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
* // the entry file for bundle generation
* entryFile: "index.android.js",
*
* // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format
* bundleCommand: "ram-bundle",
*
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
* // whether to bundle JS and assets in release mode
* bundleInRelease: true,
*
* // whether to bundle JS and assets in another build variant (if configured).
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
* // The configuration property can be in the following formats
* // 'bundleIn${productFlavor}${buildType}'
* // 'bundleIn${buildType}'
* // bundleInFreeDebug: true,
* // bundleInPaidRelease: true,
* // bundleInBeta: true,
*
* // the root of your project, i.e. where "package.json" lives
* root: "../../",
*
* // where to put the JS bundle asset in debug mode
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
*
* // where to put the JS bundle asset in release mode
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in debug mode
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in release mode
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
*
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
* // for example, you might want to remove it from here.
* inputExcludes: ["android/**", "ios/**"],
*
* // override which node gets called and with what additional arguments
* nodeExecutableAndArgs: ["node"]
*
* // supply additional arguments to the packager
* extraPackagerArgs: []
* ]
*/
project.ext.react = [
entryFile: "index.android.js",
enableHermes: false, // clean and rebuild if changing
]
apply from: "../../node_modules/react-native/react.gradle"
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = true
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
/**
* The preferred build flavor of JavaScriptCore.
*
* For example, to use the international variant, you can use:
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
*
* The international variant includes ICU i18n library and necessary data
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
* give correct results when using with locales other than en-US. Note that
* this variant is about 6MiB larger per architecture than default.
*/
def jscFlavor = 'org.webkit:android-jsc:+'
/**
* Whether to enable the Hermes VM.
*
* This should be set on project.ext.react and mirrored here. If it is not set
* on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
* and the benefits of using Hermes will therefore be sharply reduced.
*/
def enableHermes = project.ext.react.get("enableHermes", false);
android {
compileSdkVersion rootProject.ext.compileSdkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
// multiDexEnabled true
applicationId "com.app.app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 140
versionName "2.0.191128"
missingDimensionStrategy 'react-native-camera', 'general'
}
signingConfigs {
release {
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
bundle {
language {
// Specifies that the app bundle should not support
// configuration APKs for language resources. These
// resources are instead packaged with each base and
// dynamic feature APK.
enableSplit = false
}
density {
// This property is set to true by default.
enableSplit = true
}
abi {
// This property is set to true by default.
enableSplit = true
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3, "x86_64": 4]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
packagingOptions {
pickFirst '**/armeabi-v7a/libc++_shared.so'
pickFirst '**/x86/libc++_shared.so'
pickFirst '**/arm64-v8a/libc++_shared.so'
pickFirst '**/x86_64/libc++_shared.so'
pickFirst '**/x86/libjsc.so'
pickFirst '**/armeabi-v7a/libjsc.so'
}
}
buildscript {
// repositories {
// maven { url 'https://maven.fabric.io/public' }
// }
dependencies {
// These docs use an open ended version so that our plugin
// can be updated quickly in response to Android tooling updates
// We recommend changing it to the latest version from our changelog:
// https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
//classpath 'io.fabric.tools:gradle:1.+'
}
}
repositories {
//maven { url 'https://maven.fabric.io/public' }
flatDir {
dirs "../../node_modules/react-native-background-geolocation-android/android/libs"
}
}
// How to solve Google Play Services version collision in gradle dependencies
// Refer here:
// https://medium.com/@suchydan/how-to-solve-google-play-services-version-collision-in-gradle-dependencies-ef086ae5c75f
dependencies {
implementation project(':react-native-firebase')
implementation "com.google.firebase:firebase-messaging:17.+"
implementation 'me.leolin:ShortcutBadger:1.1.21@aar' // Use badge on Android
implementation "com.google.firebase:firebase-invites:15.0.1"
implementation "com.google.firebase:firebase-core:15.0.2"
implementation('com.crashlytics.sdk.android:crashlytics:2.9.9@aar') {
transitive = true
}
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.facebook.react:react-native:+" // From node_modules
if (enableHermes) {
def hermesPath = "../../node_modules/hermesvm/android/";
debugImplementation files(hermesPath + "hermes-debug.aar")
releaseImplementation files(hermesPath + "hermes-release.aar")
} else {
implementation jscFlavor
}
implementation "com.google.android.gms:play-services-base:15.0.0"
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
apply plugin: 'com.google.gms.google-services'
#### `android/settings.gradle`:
rootProject.name = 'App'
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'
#### `MainApplication.java`:
import io.invertase.firebase.fabric.crashlytics.RNFirebaseCrashlyticsPackage;
...
@Override
protected List<ReactPackage> getPackages() {
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
packages.add(new RNFirebaseMessagingPackage());
packages.add(new RNFirebaseNotificationsPackage());
packages.add(new RNFirebaseLinksPackage());
packages.add(new RNFirebaseCrashlyticsPackage());
return packages;
}
...
#### `AppDelegate.m`:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[GMSServices provideAPIKey:@""];
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
moduleName:@"app"
initialProperties:nil];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
[FIRApp configure];
[Fabric with:@[[Crashlytics class]]];
[RNFirebaseNotifications configure];
[FIROptions defaultOptions].deepLinkURLScheme = @"app.page.link";
return [[FBSDKApplicationDelegate sharedInstance] application:application
didFinishLaunchingWithOptions:launchOptions];
}
Click To Expand
**`react-native info` output:**
info Fetching system and libraries information...
System:
OS: macOS Mojave 10.14.6
CPU: (4) x64 Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
Memory: 30.07 MB / 8.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.17.0 - /usr/local/opt/node@10/bin/node
Yarn: 1.19.1 - /usr/local/bin/yarn
npm: 6.11.3 - /usr/local/opt/node@10/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.1, DriverKit 19.0, macOS 10.15, tvOS 13.0, watchOS 6.0
Android SDK:
API Levels: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
Build Tools: 19.1.0, 20.0.0, 21.1.2, 22.0.1, 23.0.1, 23.0.2, 23.0.3, 24.0.0, 24.0.1, 24.0.2, 24.0.3, 25.0.0, 25.0.2, 25.0.3, 26.0.0, 26.0.1, 26.0.2, 26.0.3, 27.0.3, 28.0.0, 28.0.2, 28.0.3
System Images: android-25 | Google APIs Intel x86 Atom, android-26 | Google APIs Intel x86 Atom, android-27 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.5 AI-191.8026.42.35.5900203
Xcode: 11.1/11A1027 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.6 => 0.60.6
npmGlobalPackages:
create-react-native-app: 0.0.6
generator-react-native-ignite: 1.13.0
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7
react-native-ignite: 1.13.0
- **Platform that you're experiencing the issue on**:
- [x ] iOS
- [x] Android
- [ ] **iOS** but have not tested behavior on Android
- [ ] **Android** but have not tested behavior on iOS
- [ x] Both
- **`react-native-firebase` version you're using that has this issue:**
- `5.5.6`
- **`Firebase` module(s) you're using that has the issue:**
- `Crashlytics`
- **Are you using `TypeScript`?**
- `N`
Think react-native-firebase is great? Please consider supporting all of the project maintainers and contributors by donating via our Open Collective where all contributors can submit expenses. [Learn More]
React Native Firebase and Invertase on Twitter for updates on the library.please don't pick and choose which parts of the template to use. For instance, without the gradle files, I don't know if crashlytics is installed correctly
You might look at these exact lines though - this is what is needed to get crashlytics working in react-native-firebase 5.5.6 w/react-native 0.60+, nothing more nothing less: https://github.com/mikehardy/rnfbdemo/blob/master/make-demo.sh#L62
The only thing that might change is that current versions of everything have moved a bit, but the most current ones all work, as well (I use them, exactly like this)
Hi @mikehardy , sorry I just added full gradle files in template. I just thought it's easier to see when pick few parts.
How long usually should wait to see log?
I am now migrating IOS project to see if there will be something different.
I finished docs for IOS and still no crash.
Everything compile fine.
Just no crashes in dashboard.
I also updated question with details what I did during migration.
crashlytics only sends crash reports if it is configured correctly (bundles, shas, etc), only on release builds, only on app restart, only after a little while (15 mins?), and only if you upload the dsyms etc during build time. There was a recent crashlytics bug where someone had a Fabric run script failing because the old API key was in there I think - all that stuff has to go. The files all seem fine but the versions are a bit out of date, not sure that would fix anything but you should get current while you are at it - also switching to the "bill of materials" style makes things much easier, version-wise, for the android firebase SDK dependencies
versions are a bit out of date, not sure that would fix anything but you should get current while you are at it
On what versions you mean?
I tweaked some version numbers because notifications were not working on android but I don鈥檛 know exactly what you think is bad.
I just uploaded app to test flight, no missing dsym waiting 20min already no report :-/
you can run a release build on a physical device plugged in right? might save a lot of turnaround time - TestFlight takes forever
Yes I deploy to devices whole day I just wanted to try Test Flight too ... desperate a bit
Maybe restore the confidence with a tiny example app from scratch to prove it works? That's what the make-demo.sh scripts are for in part, one thing is for them to show people how it can be done but the other is simply to have a proven-working thing that reminds you it is possible. I need that semi-frequently at least
I beleive it works :) I just can't figure why it doesn't work in my case :)
Versions that I use here nothing should be linked right?
Because I didn't link anything.
Also in AppDelegate.m I have:
#import <Fabric/Fabric.h>
#import <Crashlytics/Crashlytics.h>
and in didFinishLaunchingWithOptions I have:
[Fabric with:@[[Crashlytics class]]];
Is this required?
Is this required?
My demo does everything I think is required, nothing more. I do not think that is required
That's what I thought and remove that all.
Now I have upgraded to pod 'Crashlytics', '~> 3.14.0' so will try that I put version from docs.
I don't check firebase configs that you mentioned as it's working with my production app which is on old library.
I don't know will it make any difference but I am using firebase 5.5.6
Should I maybe install @react-native-firebase/crashlytics
I still can't move to v6.
I am on react-native-firebase v5.5.6 in work project as well, but with very latest versions of every single package + dependency, and it does work, the demo script I link above is the react-native 0.60+ + react-native-firebase v5.5.6 demo script (there are separate for RN59- and/or RNFBv6+)
I cloned it now and installed I will try to make same setup and hope :)
I now started:
adb logcat -s Fabric CrashlyticsCore
Forced a crash and I got this
CrashlyticsCore: Cannot send reports. Settings are unavailable.
When I open app again I get:
12-04 10:10:32.020 25422 25422 I CrashlyticsCore: Initializing Crashlytics 2.6.8.32
12-04 10:10:32.318 25422 25448 E Fabric : Failed to retrieve settings from https://settings.crashlytics.com/spi/v2/platforms/android/apps/com.myapp.app/settings
12-04 10:10:32.328 25422 25450 W CrashlyticsCore: Received null settings, skipping report submission!
I finally have progress. It was actually working all the time but I was missing one more step.
Unlinking fabric from firebase console:
I will write it here maybe it will help someone:
Android crashes are recorded instantly.
IOS crashes are recorded instantly but not visible as DSYM missing.
In xcode go to:
"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"I was never more happy to see crash in my app :D
Thanks @mikehardy for demo files it was helpful 馃敟馃敟馃敟.
I finally have progress. It was actually working all the time but I was missing one more step.
Unlinking fabric from firebase console:
I will write it here maybe it will help someone:
- In firebase console go to project settings
- Fabric thumb => Manage
- Unlink App
- Dashboard > Crashlytics
- Set a new Firebase app
- No further steps reload that page (I cleaned cache also)
Android crashes are recorded instantly.
IOS crashes are recorded instantly but not visible as DSYM missing.In xcode go to:
- Build Phases
- Add run-script
Paste:
"${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"- Make a release build to phone
- Reload firebase console page and see crashes
I was never more happy to see crash in my app :D
Thanks @mikehardy for demo files it was helpful 馃敟馃敟馃敟.
I also have problem getting any crashes to Firebase Dashboard. I'll try it out if it works for me.
Hello 馃憢, to help manage issues we automatically close stale issues.
This issue has been automatically marked as stale because it has not had activity for quite some time. Has this issue been fixed, or does it still require the community's attention?
This issue will be closed in 15 days if no further activity occurs.
Thank you for your contributions.
Closing this issue after a prolonged period of inactivity. If this is still present in the latest release, please feel free to create a new issue with up-to-date information.
@vvusts Where is "Fabric thumb => Manage" ?
I see only Migration check list, which says that I migrated to Firebase.

Most helpful comment
@vvusts Where is "Fabric thumb => Manage" ?
I see only Migration check list, which says that I migrated to Firebase.