I've been using Crashlytics in application, our client using HockeyApp, and I came to know by the recent updates to Google Firebase.
Has anyone had a chance to use above tools, what are your overview and suggestion? Did you like one over the other... and why?
Have a great day.
I'm afraid I can't speak for HockeyApp at all, but I have some experience in using Firebase and Crashlytics using iOS and Android clients. The below paragraphs don't factor in HockeyApp, and only compare Firebase Crash Reporting to Crashlytics.
Of the two, I would depend on Crashlytics for crash reporting until Firebase can further revise features. I've implemented both in some apps, and there are some advantages to Crashlytics. They send email notifications when crashes occur, including for priority changes, and crashes appear very quickly in the interface, within 5 minutes typically.
As it currently stands, Firebase doesn't have crash notifications, and it can take 20-40 minutes for a crash report to appear in the dashboard. A benefit of using Firebase's reporting is that their analytics will create an audience group of crash experiencing users, allowing you to identify and provide a different experience for those users (push notification, welcome screen, coupon code, etc)
Both:
Ability to report logs for crashes to investigate interaction and
function
Crashlytics:
~5 minute reporting time
Email notifications
Firebase:
20-40 minute reporting time
Richer user data
Can redact some logged info: "Logged in Chris" could become "Logged in [REDACTED_US_MALE_NAME]"
Related
We have an existing app that has Crashlytics implemented. As I understand, App Not Responding report in Crashlytics is only for Android 11 and above, which most of our traffic meets as a condition.
In Crashlytics, I can see % for crash free users, total users and total crashed but - for ANR metric. How can I implement this?
Thanks.
I’m testing Firebase Cloud Messaging with iOS.
Every time I send out a test notification to the app on my iPhone, the number in the screenshot increases, even if it’s the same device.
Anyone know where I can see this list of users? Would preferrably like to manage these, force remove them etc.
The tooltip says Estimate based on approximately xxxx users who are registered to receive notifications. Some targeted users will not see the message due to device inactivity. For recurring campaigns, estimate is for initial send only.
I don't believe you can see that list of registered users anywhere.
The Crashlytics dashboard is showing Crash-free statistics but there is no crash in the ISSUES table.
Knowns:
Latest Fabric and Crashlytics following the Firebase tutorial
Forced a crash using Crashlytics.sharedInstance().crash()
In appdelegate I set FirebaseApp.configure()
App is not on Appstore, but I uploaded the dsyms from the xarchive package
That can happen from time and here's why - when a session ends in a crash, the small amount of data that needs to be sent to know that the crash occurred can safely be sent. However, the crash report is larger, so it can't be sent safely until your users relaunch the app. Once your users do that, the crash report will be sent and you'll be able to dive into the details. Let me know if that clears it up or if you have any other questions!
A week ago I experimented with FCM console and sent push messages to my Android device. But after that many (thousands) of users started to receive pushes every day in 23 h. I suppose, this is because of time zone difference. When I look at Cloud Messaging Reports, I see it really sends data notifications. But I even don't have active campaigns (including planned campaigns). How can it be?
UPDATE
I've got answers from Firebase and AppMetrica (an alternative analytics service) support. They say it is possible the app is not able to handle the data message (silent notification) sent.
I saw charts in FCM Reports, showing that every day it delivers data messages. Every day it's count slowly raised.
I've got answers from Firebase and AppMetrica (https://appmetrica.yandex.ru/docs/). Firebase support didn't find a problem, but suspected silent push messages. AppMetrica support found a problem. AppMetrica uses FCM to send push messages. I wrote a code for integration of AppMetrica and FCM incorrectly, so silent pushes haven't been handled right. After I unselected a checkbox in settings that updated tokens via silent push messages, Firebase charts dropped to zero.
I am writing a connected home device (alarm system) which can receive events/messages from a mobile device (e.g. a message to dismiss an alarm).
Example of a scenario (mobile device is an iphone for the sake of the example):
Connected device at home sounds alarm and notifies the iphone (using iOS push notifications, not firebase)
iphone user brings up the app, and clicks "dismiss"
connected device gets "dismiss" message and stops the alarm
I was thinking about using firebase's live database for this interaction, so the iphone app would set a db field, and the home device (which runs python) would subscribe to this field and see that it has been set.
The problem is that this is not a very clean implementation, as I would need the home device to turn off the dismiss field after it has received it, so that subsequent dismiss event can be recognized.
Essentially I am implementing messaging on top of a live database.
Is there a cleaner way to do this in firebase?
If not, is this a reasonable implementation?
Are there alternatives to firebase that take care of such a scenario?
What I really need is a web-based event-broker as-a-service...
I would suggest looking at https://github.com/firebase/firebase-queue
There are a few examples of usage on SO such as My Firebase Queue doesn't do anything after I changed to Firebase 3
Many of our developers are using Firebase with a server to perform tasks like background processing, integrating with third party APIs, or handling advanced authentication requirements. Today, we're introducing Firebase Queue, a fault-tolerant multi-worker job pipeline built on Firebase.
If you're writing your server code in Node, Firebase Queue makes it easy to handle background jobs with a worker queue. We're already using it in our private backups feature, where we reliably handle hundreds of jobs per day across multiple machines. ( https://firebase.googleblog.com/2015/05/introducing-firebase-queue_97.html )