How I used Firebase in my Android Bible App

So at IO16 Google announced the release of the new Firebase with lots of exciting features available for developers to use.

I have played around with the new Firebase features in my other apps but I have been quite excited about how I used it in my Bible App

Here’s a break down of the Firebase features I’ve used and how I’ve used them:

Firebase Database

I remember when I first used Firebase in its early beginnings, this was all it was about (Real-time Database).

At the bottom of every chapter in my Bible app you’ll see a Community button which will take you to Commentaries and Questions that other users have posted about that specific chapter. Basically users can share their own commentary on the chapter, ask or respond to questions.

Community Section UI

Basically the above UI is populated using the sample snapshot below from my Firebase console.

Database snapshot

Firebase Auth

Obviously users need to be authenticated before they can post to the Community and Firebase offers any easy to use implementation. For most cases I only allow sign in with Google or Facebook. Not the best sign in screen but it does the job :-)

Sign in Dialog

Firebase Dynamic Links

After posting a very nice commentary on a Bible chapter you’d definitely want more people to read it and here’s where Dynamic links are very useful.

Implementing Firebase Dynamic links I am able to generate a dynamic link for any Commentary or Question a user has posted. Sharing this link to anyone who has the app installed will take them straight to the Post.

Firebase Storage

My Bible app also comes with Scripture songs by Abigail Miller, (I haven’t seen or heard of a Bible app that does this, but yeah this is not just your typical Bible app).

Scripture songs

I use Firebase Storage here to store all the source mp3 files. Firebase Storage does not support dynamic listing of folders so I had to bring Firebase Real-time Database to the rescue. Basically all the song titles and source strings are stored in my Database and by querying my database I can use the downloadUrl to stream the audio.

Scripture songs db snap

Firebase Crash & Notifications

I don’t really use Crash & Notifications for anything else other than the basics. Basics being monitoring device crashes and sending out Remote notifications from my Firebase console. I would love to implement Notifications to a user when someone answers your question for instance but this requires some server side work which I do not have for this app.

Hope you’ve enjoyed the small read, and please do try out my Bible app.

Once again Thank you Firebase Team.

Show your support

Clapping shows how much you appreciated Tinashe Mzondiwa’s story.