I've been following the docs here and have made it all the way to the point where I've installed it and am trying to send an error. I added a button to my page that when pressed just does:
throw new Error('Test Error for Crashlytics'). I've got it running in my simulator as well as an ad-hoc install of the app onto my phone, but no matter how many times I make my app error, the Crashlytics page in Firebase just shows
I've seen that this can take some time, but I've been waiting about 2 hours now since the first error and about 30 min since I last tried and still nothing. Not really to sure what to try next, I can't seem to find any documentation on how to possibly debug what is going on as well.
Firebase crashlytics will automatically record crashes so you won't need to add anything, unless you have custom requirement. For that you need to follow the this documentation.
And for forcing your app to crash, actually you can use
Crashlytics.getInstance().crash();
here is the tutorial from firebase documentation.
Related
I have two projects.
connected like this document.
connected with Frabric plugin on Android Studio.
First of all, My colleague connected the first way. It worked fine. After that I needed to create a new project for test. And I connected Crashlystics with Fabric plugin(I didn't know how my colleague connected at that time.)
Now, I needed to connect Crashlystics to the original version(which is 1).
However, It shows the crash graphs, But I don't get any reporting like which line got which error. I checked my test project and it gets the reporting.
So, I disconnected my account connected to Fabric and my app. And then, I get 0 reporting in both project.
At the moment, My setting is just like the document. And of course, I have google-services.json file correctly.
How can I solve this problem?
The two methods that you've followed would have crash reporting at different places.
1st one would report everything on Firebase Console.
2nd would report everything on Fabric dashboard.
To connect fabric to firebase you would just need to migrate your app over to firebase with just a few button clicks and no code change.
My assumption is that you might not have stripped out the Fabric API Key (In your AndroidManifest.xml file) from your code hence the reports are not coming in at firebase console.
I have Firebase Crashlytics set up correctly on my application. But I have been unable to access my Crashlytics dashboard on Firebase.
It keeps taking me to this page to this page up fabric which I have been unable to. Is there a way around this.
Fabric/Firebaser here - hopefully this helps anyone who might run into something like this in the future. More clarification has been added to this particular screen since this question's creation as well.
One reason why this can happen is some sort of misstep in the migration process. If you have a Fabric app and are attempting to migrate to Firebase Crashlytics, you should complete the clickthrough migration and then you should be able to entirely skip seeing these options once that's complete. No other code changes are required. You will also be linked to the clickthrough migration if you choose option 1 on step 1 of the above view.
Other than that, ensure that you're installing Crashlytics correctly via these instructions. You can also click "Test your Implementation" at the bottom of that page to see how you can enable Crashlytics debug logging (to verify in your Xcode logs if Crashlytics is communicating with the server) and perform a test crash.
When attempting to run a simple Android Instant App, I receive this error in the console and the app does not open. What does this error mean and how do I pass in a valid credential header?
There's a known issue where emulators are not allowed to talk to the Instant Apps backend, resulting in this error. If you try to use the emulator to launch a published instant app, it'll fail for this reason. We've also seen it on some physical devices, but it's very inconsistent there.
When running an instant app locally, you may still see this error, but it's not the root cause. The loader tries to fall back to the backend if something goes wrong with the local launch. So hopefully there's something further up indicating what went wrong initially.
A change has been submitted to skip the fallback for emulators, to reduce that noise, and that'll be in an upcoming SDK release.
Clean build the project and try again. I did get the same error but got rid of it after clean build.
This error can be due to a variety of things and means that your device is not able to run Instant Apps for one reason or another. For example, your device is in a country that is not currently launched (available countries).
I would recommend using the emulator by following the instructions here, as this is a debug device, Studio is able to send override flags to the emulator to ensure Instant Apps will run.
I (brutally) solved with a clean boot: Tools/AVD Manager/Virtual Devices/Down-arrow on the line of the selected emulator/Cool Boot.
After searching for an answer and trying everything possible I have ran out of options but to ask it myself.
After following Android with Google+ Sign-in tutorial I ran into the most annoying and least descriptive error ever, the "An internal error occurred" on device. Nothing in the logs. The thing is, that after clicking the Sign-in button on virtual device I DO get prompted with permission requests, but running the same application on an actual device keeps throwing the error.
I did fill in the consent page, check the package names, create a new key and check package names and keys again and so on, nothing seems to work.
If anyone has had the same experience (working on AVD but not on actual device) please do throw anything at me, no matter how silly it might be.
Cheers!
P.S. Forgot the crucial part! If "addScope(Plus.SCOPE_PLUS_LOGIN)" is removed the application calls the onConnected method. So I guess I need an alternative for the same row that would keep the scope I need.
In my app ,i have integrated Crashlytics ,ACRA and Google Analytics for reporting crashes
-> is there any side effect of one on others ?
-> Which one is better to use.
-> How crash reporting tools work ,if one caught the crash how other will get to report the same crash ?
Using multiple crash reporting solutions in one project simultaneously might run your application into concurrency issue, where application eventually hangs forever upon any crash.
Crash reporting solutions intercept uncaught crashes, in one way or another. The flow is basically the same:
Intercept uncaught crash;
Log it to be able to send info to server;
Re-throw crash, so that the app eventually crashes.
I could imagine a situation where 2 crash reporting solutions create an infinite loop throwing the same exception to each other forever, according to the steps above.
At least, that's what it looked like when I used Google Analytics (with crash reporting turned on) together with Crashlytics. The application just hanged forever without any visible crashing, until I eventually turned Google Analytics crash reporting off.
is there any side effect of one on others ?
Google Analytics is not really good to use. I created a Google Analytics account a few days before the implementation. It had not been used and not even been copied(the code) and when I came back to insert Google Analytics I had to get the code. Noone had used a Google Analytics version of the app and it wasn't even released and it had a lot of usages logged. I don't like google analytics because the code's are easy to crack and are used by third party websites without consent to add fake clicks on your website when the code isn't even used there.
Additonally, Google Analytics does only handle when it is forced to log. As it is not a dedicated crash analytics tool it does not log crashes like ACRA, Crashalytics and Firebase crashes.
Which one is better to use.
That is really up to you, but personally I find ACRA to be better because you can use backends on your own site. If the site goes down, so does ACRA so it really helps to feel in control of the bringing the site back up.
Additionally, there are many backends if you want to use your own site. And if you don't find one that works you can create one. Crashalytics and Firebase rely on their own dashboard on their respective pages, which means another password and username to remember.
How crash reporting tools work ,if one caught the crash how other will get to report the same crash ?
See Drew's answer
Crash analytics tools Might be using Global Exception handling as in this https://stackoverflow.com/a/8877177/1602333 for entire App to handle uncaught Exceptions.
SO if you use multiple crash analytics tools , each of them may replace Global Exception handler .