6

I've been using Fabric Crashlytics in my app for some time, using react-native-fabric. Now I would like to use the react-native-firebase implementation which does JS stack mapping. Last year I migrated my apps (Release and Staging builds, android and iOS) to my Firebase console so I have been able to see my crash reports both there and on the Fabric dashboard.

I have followed the following steps to migrate and when I execute crashlytics().crash() and restart the app, crash reports are not making it to either dashboard on either iOS or android. First I removed react-native-fabric like this.

  1. Remove references to fabric in app/build.gradle, app/settings.gradle, and MainApplication.java
  2. Deleted android/app/fabric.properties
  3. Remove ApiKey from AndroidManifest.xml
  4. Remove Crashlytics and Fabric frameworks from iOS build.
  5. Remove fabric run-script build phase
  6. Remove references to fabric in AppDelegate.m
  7. yarn remove react-native-fabric and remove imports from react-native-fabric in JS code.
  8. Remove Fabric API key from Info.plist (I didn't discover the suggestion to do this till later)
  9. Remove Fabric.app and associated files.

(Some of the above changes were done automatically by react-native unlink react-native-fabric.)

Then I upgraded my app from RN 0.59 to 0.61.4.

Then I installed react-native-firefase (v 6.0) according to instructions here: https://invertase.io/oss/react-native-firebase/v6/crashlytics/quick-start

Now when I call crashlytics().crash() the app crashes but reports do not appear in either the Fabric or Firebase consoles.

I've looked at some other SO questions, such as Firebase crashlytics not reporting crash, and have not been able to find any applicable hints, since I'm using the react-native-firebase Crashlytics library and not doing direct native development.

chetstone
  • 650
  • 1
  • 9
  • 19

1 Answers1

0

It appears that it may be impossible or very difficult to do this. On the firebase migration from fabric page, it says:

For the apps that you linked, your Crashlytics data now appears in the Firebase Crashlytics dashboard (in the Firebase console). The linking process does not involve any changes to the Crashlytics SDK or your Fabric API key. Note that in the coming months, we'll release Firebase-specific Crashlytics SDKs for iOS and for Android, as well as offer further upgrade instructions. So, for now, if you migrated an iOS and Android app:

  • Do not change how you use the Crashlytics SDK because the iOS and Android SDKs haven't changed.

  • Do not change or remove your Fabric API key.

To me this implies that the Fabric and Firebase SDK's are incompatible.

Also, on the settings/integrations page in the Firebase console, there is a button to “Unlink Fabric App”. Clicking this might allow the conversion to succeed, but I'm afraid to do it because I'm not sure what will happen and I'm still relying on the old react-native-fabric crash reporting in production.

chetstone
  • 650
  • 1
  • 9
  • 19
  • 1
    Where is the button "Unlink Fabric App" ? – Lucky_girl Jun 16 '20 at 09:07
  • @Lucky_girl my answer is probably outdated, I recently saw a notice that the new Google Crashlytics SDK's are available and it is required to switch to them in the next few months. Anyway, I've switched to bugsnag. – chetstone Jun 20 '20 at 21:07