In the last couple of months I've been focusing on the development of our Android version of ToffeeShare. See our first announcement for more information here.
One of the main problems I ran into is that more than often, you are forced to use third party libraries and ecosystems when developing for Android devices.
Sending push notifications for instance
While it is ultimately possible to implement such a feature entirely from your own infrastructure, it's a very difficult task. It requires a lot of testing on a very large amount of different devices, and in the end will probably not work on still a large amount of devices. Meanwhile Firebase offers very straightforward tutorials on how to correctly implement push notifications on multiple platforms, and manufacturers have simply optimized their phones for use with Firebase.
While Firebase looks like an ideal solution I was a bit shocked when I opened the developer console the first time
We do our best to keep your data private and we track as little as possible with the website, the same goes of course for the mobile apps. That said, we haven't implemented any analytics, apart from some basic bug tracking features that Google Play offers by default.
However, when I opened the Firebase console after some time to change some settings, I was surprised to see that the analytics section was suddenly filled with very detailed app usage data. This data could easily be tracked back to individual users. I never opted in for any of this, to my knowledge I wasn't tracking anything. Still, somehow, because I used Firebase in my application I also automatically had a full fledged implementation of Google Analytics for mobile devices.
While these statistics can be very handy in checking user behaviour for UX and debug purposes, there's a big ethical aspect here to consider. Besides that, it makes it very difficult to be completely GDPR compliant. It's hard to find what exactly is stored and how to delete certain sensitive information.
Luckily there's an easy solution
Luckily, Firebase provides us with an easy to implement solution for this problem. If you feel like the default analytics do not respect the privacy of your users enough, you can simply add the following line to the application section of your Manifest.xml
<meta-data android:name="firebase_analytics _collection_enabled" android:value="false" />
For iOS add the following line to your Info.plist<key>FIREBASE_ANALYTICS _COLLECTION_ENABLED</key> <false/>
Voila, you are now no longer automatically tracking your users when using Firebase.