This blog uses Nextscript’s SNAP to autopost new posts on LinkedIn, Twitter, and Medium. After installing and activating a few new plugins, I noticed that a scheduled post (“How To View Trello Card Name / Description History“) had been posted with the default category (Android Dev) instead of the correct category (Project Management). Additionally, none of the post’s tags were included in any of the automatic posts.
Trello’s card management system is an extremely widely used approach to managing smaller projects, by moving cards left to right as they progress through various stages (Needs Estimate, In Progress, In QA, etc). Having a history of actions taken is essential, as it ensures all team members are aware of the card’s state at any time.
FirebaseUI is a very useful collection of UI components for Firebase. It removes some of the complexity of implementing Firebase components by providing ready made UI components that your code can hook into. The FirebaseUI-auth library is used for Firebase Authentication in the Firebase series‘ reference app, as well as various other Firebase dependencies.
Whilst tracking user’s screen views with Firebase / Google Analytics can be very simple to setup, it can easily result in a very messy codebase, with hardcoded strings all over the place. Keeping all of the tracking logic in one place allows an instant overview of all tracked screens, as well as easily checking where a screen is reporting a view. Note that this tutorial is for fragments, activities can already be tracked easily automatically.
Firebase Analytics / Google Analytics is the most widely used service for analysing traffic, and can be used to track detailed information about how users use your app. However, by default it will track all information, including any logged during development or QA. This may mean that the new page you’re working on seems to have a massive spike in traffic, potentially misleading any marketing efforts.
Firebase Realtime Database is the more traditional predecessor to Firestore, and is essentially a way to store data as JSON and sync it between all clients / servers. Google have also provided a full comparison.
Setting up Fabric is usually pretty straightforward, especially as they have a step by step guide, and even an Android Studio plugin that can do it all for you.
When navigating between components in your Android app, you’ll sometimes want to call back to the component’s parent. If your navigation uses activities, startActivityForResult() is easy to use and works fine. However, if your app is a more modern app and uses fragments, this won’t work, and there is no startFragmentForResult() function! It can also be helpful for the application class to know the result from a specific activity.
Whilst following OneSignal’s setup guide for their Android SDK, everything went smoothly until attempting to run the build past our CI (continuous integration) server, CircleCI. I’ve encountered various issues when using custom build flavours with OneSignal before, and expect that was the cause of this issue too.
Cloud Firestore provides an app an invisibly syncing cloud database. This takes away a lot of the complexity of ensuring data is up to date, and has very simple methods for creating, retrieving, updating, and deleting data. It also allows syncing between multiple clients, and managing the database via a web interface or an API.
Looking for non-software development posts? I've got another blog for those!