-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Crashlytics in IOS is not sending information to Firebase console #3762
Comments
Perhaps the dSYMs are missing? https://stackoverflow.com/questions/54577202/how-to-run-upload-symbols-to-upload-dsyms-as-a-part-of-xcode-build-process/55796619#55796619 That's a classic, and that answer is the source of basically all my stackoverflow karma 😅 - if not, unknown but your versions here are out of date, I'd make certain you were fully up to date on |
@mikehardy I have uploaded dSYMs I also updated |
The same thing happening to us on Android as well somehow. Related to #3648 I guess |
@Luckygirlllll I recommend making a small throwaway app with crashlytics in it and proving the integration out with nothing much more than a specific "crash now" button in the app. You can start with this, just need to configure a matching app in the console and get the plist/json files from google https://github.com/mikehardy/rnfbdemo/blob/master/make-demo-v6.sh |
@mikehardy Hi, thanks for all the work on this! Are there plans to upgrade to latest SDK (which doesn't use Fabric anymore)? |
@calintamas yeah, it should happen soon, I guess. #3771 |
I was having this issue as well. the fix for me was to add back all the Fabric props in the info.plist and to replace the build phase script from the migration documentation wth the original fabric script. info.plist:
|
@timomeara Interesting, I will try that! |
@timomeara how will you be affected by the migration path google is pursuing from fabric to crashlytics? I'm concerned you may have your crash reporting shut down when they turn off the fabric stuff completely |
that's a good question @mikehardy. I was actually going to reach out to you about an answer. |
For original fabric folks that were fabric/fabric I am not sure. This library is currently what I refer to as "crashlytics/fabric" with the PR you linked taking it to the end state of "crashlytics/crashlytics". I understand people going from step 2 ("C/F") to step 3 ("C/C") it's basically nothing-burger. But for people starting at fabric/fabric I have no experience or special knowledge sorry |
gotcha- but i still don't understand why i need the Fabric api keys and such when others do not. btw: @mikehardy, i understand that you volunteer your time here and i appreciate your taking the time to answer all our questions. |
I'm hoping the ingestion of the PR that goes to the end state of "Firebase Crashlytics" (which I do refer to as C/C yes) happens pretty quickly. It's very close to ready but appears to be having trouble getting the final polish it needs from the original poster. Hopefully soon. Wish I knew more about Fabric original state and how to move from it, sorry I don't |
Firebase Crashlytics PR just merged! release in progress (CI takes a while). From the perspective of this issue, that means that it is probably more confused as to what we know for sure and what we are guessing on unfortunately, as whatever testing has been performed should be done on the updated crashlytics release. |
i am using
but, can not see any crash report on firebase console |
@vanhungoz I'm sorry you're having problems integrating it but I released full versions with the integration to the versions you quote and just tested the crash functionality this morning. I received crash reports. It's all working but you may have a local project issue, you may be in debug mode, you may not be on a real device, you may not have uploaded dSYMs, you may not have restarted the app afterwards (to send the report), you may not have waited long enough - it's hard to say. But the module works. |
i'm trying now but still not seeing anything in the console. i'm also not seeing anything in the logs now i'm no seeing anything except [Firebase/Crashlytics] Version 4.1.1 and the crash() |
Crashlytics only upload crash report when app start. Did you try to kill/restart app after crash to let Crashlytics sdk to upload things? |
FIXED!! i had to add the FirebaseCrashlyticsCollectionEnabled key to my info.plist despite enabling it in the js. thank you both ( @Aure77 @mikehardy ) for all your help
@vanhungoz ^^ |
PRs gratefully accepted 🙏 - there's an edit button top-right of every docs page, Github web UI makes it easy to do docs PRs |
i will absolutely do that @mikehardy but i think i should wait until @Aure77 has a change to look at why |
I also can confirm that logs appear in firebase console (from release on device build) with:
Just added this to info.plist
|
I have done no investigation on why I don't need those @vvusts but my project does not have those items in the plist and I received crash traces in the console from my "test crash button" |
Sounds like the problem lies indeed in With
it works, the crash report appears in the Firebase Console. Release build on a real device, dSYMs are uploaded correctly.
I also have
in @mikehardy I assume that Thanks for your time and hard work. |
That probably explains it, I have default settings for boot (which I also am pretty sure are true) rather than toggling them on after. So to narrow that particular issue down, on iOS, it appears that booting with collection false and then toggling it on does not work, which is a bug somewhere (are we calling the APIs correctly in this module? no idea. Is it upstream? no idea) |
Can confirm that I'm seeing the same behavior as @benoitvogel with iOS, Android works, as stated. |
For the opt-in scenario, here's a comment that could potentially explains the behavior: firebase/firebase-ios-sdk#5805 (comment). Initially, I got the impression that data collection and crashlogs are enabled and disabled separately, but looking at the docs for |
Thank you very much for digging in here @pehagg ! |
Things are pretty complicated when it comes to how the Crashlytics configuration is handled. After browsing through the code both for the Firebase iOS SDK and RNFirebase, it looks like there's three configuration "systems" at play here. First, the Firebase iOS SDK seems to support both "old" (Fabric) and "new" configuration settings, and apparently the semantics differ for these two as per comments in the code. Then, as the third player, there's the configuration (RNFBPreferences) in RNFirebase, which AFAICT is something that is implemented in RNFirebase only. So why does the opt-in case not work on iOS? The first thing to note is that according to Firebase docs, you are supposed to use checkForUnsetReports to ask for consent and use either sendUnsentReports or deleteUnsentReports based on what the user responds. I can't find any other mentioning of opt-in anywhere else in the docs. Either for Android or iOS. There is no evidence in the docs, as far as I can tell, that would state that automatic uploads should even work when automatic crash log collection is disabled. I enabled debugging (FIRDebugEnabled) for iOS and there were two log lines that were of interest. The first one stating that "Automatic data collection is disabled." and the other "Waiting for send/deleteUnsentReports to be called". This even after I had enabled crash logs collection via RNFirebase's Which leads us to the potential root cause. I can't for the life of me see a call in RNFirebase's |
I copied those research comments to #3879 as we have other researchers posting the foundation info needed for a fix. I am going to close this as a duplicate because I think the issue here will be fixed by that one. If I'm wrong (happens sadly too often) we can obviously re-open |
Issue
Describe your issue here
Crashlytics is not sending information to Firebase console.
I can see Crash free statistic though.
Project Files
Javascript
Click To Expand
package.json
:firebase.json
for react-native-firebase v6:iOS
Click To Expand
ios/Podfile
:# N/A
AppDelegate.m
:// N/A
Android
Click To Expand
Have you converted to AndroidX?
android/gradle.settings
jetifier=true
for Android compatibility?jetifier
for react-native compatibility?android/build.gradle
:// N/A
android/app/build.gradle
:// N/A
android/settings.gradle
:// N/A
MainApplication.java
:// N/A
AndroidManifest.xml
:<!-- N/A -->
Environment
Click To Expand
react-native info
output:react-native-firebase
version you're using that has this issue:6.7.1
Firebase
module(s) you're using that has the issue:TypeScript
?React Native Firebase
andInvertase
on Twitter for updates on the library.The text was updated successfully, but these errors were encountered: