-
-
Notifications
You must be signed in to change notification settings - Fork 473
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE] Transition to Firebase Crashlytics #335
Comments
I've recently received a deprecation notice that the fabric SDK will no longer function after November 15, 2020. To support some semblance of custom stack trace, the new Crashlytics SDK does have support for |
Looks like |
PR #432 has been submitted to resolve this - I will regression test ASAP |
This has been implemented on the dev branch. I've successfully tested on iOS but currently not seeing any crash data for Android using the new Firebase Crashlytics implementation. To install the plugin direct from the dev branch:
|
@zmoshansky any luck with testing crash report for Android? |
I'm testing this and still unable to get crash details to show in the Firebase Console Crashlytics Dashboard for Android. I'll also need to fix the NDK crash reporting for Android (for Cordova apps containing C/C++ libraries invoked via the NDK) since crashes originating in a compiled C library are not being recorded at all on Android (not even in "crash free users"). |
I finally got Android crash reporting working: Thanks to this comment on SO, I ran in
Then forced a crash, then I saw in the logcat:
So guess it was something cached in the Android build. Still need to fix NDK crash reporting before merging to master & releasing... |
@dpa99c Hi Dave, thank you for the update on Android, I was wandering if you'd know something regarding this error I am seeing in iOS after update. I have already tried importing GoogleServices-Info.plist again but no luck. xx[4278:1163883] 6.23.0 - [Firebase/Installations][I-FIS002003] Firebase Installation registration failed for app with name: __FIRAPP_DEFAULT, error:
|
@Roshankd1 looking at the Firebase iOS SDK source code it appears this error is related to the project configuration. |
@dpa99c thank you I thought so as well and have been battling since yesterday trying to see what's missing or excess after the update :D I will keep trying! Good day :) |
…rebase Crashlytics. Resolves #335. # Conflicts: # CHANGELOG.md # README.md
This functionality has been released in a new major version: |
@dpa99c Hey Dave, finally able to fix my firebase config errors but still seeing a problem with Android. I've tested in both release/debug environment still getting this error: polyfills-es2015.js:3657 Unhandled Promise rejection: Cannot set Crashlytics user ID - Crashlytics collection is disabled ; Zone: ; Task: null ; Value: Cannot set Crashlytics user ID - Crashlytics collection is disabled undefined |
@Roshankd1 looks like there's a regression on this line - it should not be a negative condition. |
Just pushed a commit to master which should fix it. |
@dpa99c Amazing thank you! Quick one, how are you testing crash on iOS? I'd imagine the with firebaseX wrapper right? I am not able to see crash report pushed in Console(probably something to do with my crash test code??) I used firebase.sendCrash(); Here is my log: |
Having this issue here, seems related? Please let me know if you'd like me to open a new ticket..
|
@globules-io The message seems pretty clear tbh, try to enable API as mentioned in the log message and also make sure you have updated your google-services.json file with latest API_KEY that you can retrieve from the fire base console. This could be useful: https://stackoverflow.com/questions/58495985/firebase-403-permission-denied-firebaseerror-installations-requests-are-blo Here is screenshot for reference to API_KEY that you will need to copy to replace your current_key value inside Google-Services.json |
@Roshankd1 they are enabled, it is a iOS issue only, fixed it was somewhat fixed by uninstalling / reinstalling and redoing pods. Not sure what happened. |
@dpa99c First of all, thank you for handling this in the plugin. Would it be possible to know what are the implications of not aligning our apps to I stumbled upon this issue today, and the timing/effort to both :
... this all looks very tight to me. That's why I'd need to know what's going to happen by Nov. 15th if I don't upgrade in time (now that the problem is fixed, I assume you should have an idea on the impacts) :
|
My understanding is that after 15 Nov, any apps which haven't been migrated will stop receiving crash reports in Firebase. If you open the Crashlytics console in Firebase console for a project which has not yet been migrated you should see a warning like this: "Learn more" links to here
The rest of the Firebase plugin functionality should work fine.
Both iOS and Android apps are affected. |
@dpa99c thanks for your (very) quick feedback, as always you're providing insightful answers and I really appreciate it. If I summarize, it looks like if I was not using Crashlytics before (it's my case) then I shouldn't be impacted. I will cross fingers the exception raised by firebase internals when trying to reach the shutted down endpoint will not be caught by my general-purpose exception handler (my general-purpose exception handler is showing an error popup to end users) and will rather be caught and handled by firebase internally and silently. That's one of my fears, and I assume it will be complicated to know the answer to this question before Nov 15th :( |
Hello @dpa99c Is there is any setting to disable crashlytics or how to bypass it cause I am getting android build errors when I am using it with capacitor. I don't need crashlytics and I can't find a way to disable it in this plugin's methods. FYI the android build error is
I am using latest version of everything 🗡️ |
@tomavic not sure if this will solve your build time issue (it looks more like a runtime workaround) but you can a look at this section of the doc (it allows to disable crashlytics at startup) |
@fcamblor yes i can do this when I am using cordova, but i am using capacitor. And the way to use cordova with capacitor is only install plugin without specifying variables. Do you know how to set these variables the right way? |
@tomavic I'm sorry I don't have knowledge into Capacitor yet :( |
@fcamblor me too 😔 I don't have any experience with capacitor. I was using cordova for the past time, and turned to capacitor because of firebase plugins issues. And AGAIN I faced it too! What an epic |
Currently this plugin uses the original Crashlytics SDK which is part of the Fabric SDK.
Since Google acquired Fabric, they have merged Crashlytics into Firebase so Fabric is now deprecated and will shut down on 31 March 2020, though it's my understanding that Fabric-based Crashlytics will continue to function after this date so long as the Fabric project has been transitioned to Firebase.
Therefore we should move the plugin from (the deprecated) Fabric Crashlytics to Firebase Crashlytics as outlined in the Firebase docs.
However, the Firebase Crashlytics API (currently in Beta) is not an exact mapping of the Fabric API - some API functions have changed signature or are even are not supported.
For example, currently this plugin uses the
recordCustomExceptionName
API method to send a custom stacktrace to Crashlytics for non-fatal errors. This allows replacing the auto-generated native stacktrace (no use in a Cordova app) with a Javascript stacktrace generated bystacktrace.js
(the same approach is used by react-native-firebase).However, the new Firebase Crashlytics API does not currently support custom stack traces so we'd be unable to bring this feature across.
The text was updated successfully, but these errors were encountered: