firebase

Topics related to firebase:

Getting started with firebase

Firebase is a Backend as a Service (Baas) very useful for mobile app development.

It provides many features like Authentication & Security, Realtime Database & File Storage, Analytics, Push Notifications, AdMod and many others

It provides the SDK for Android, iOS, Web, NodeJS, C++ and Java Server

How to use the Firebase Database to keep a list of Firebase Authentication users

Database Rules

Email Verification after Sign Up

Storage

Crash Reporting

How do I listen for errors when accessing the database?

FirebaseUI

Firebase is a suite of integrated products designed to help you develop your application, grow an engaged user base, and earn more money. It includes tools that help you build your app, such as a realtime database, file storage, and user authentication, as well as tools to help you grow and monetize your app, such as push notifications, analytics, crash reporting, and dynamic links.

You can think of Firebase as a set of Lego bricks that you can use to build your masterpiece. Just like bricks, Firebase is relatively unopinionated, since there are an infinite number of ways to combine the pieces and we're not going to tell you that certain ways are wrong :)

FirebaseUI is built on Firebase and provides developers simple, customizable, and production-ready native mobile bindings on top of Firebase primitives to eliminate boilerplate code and promote Google best practices

In the Lego analogy, FirebaseUI is a set of pre-built kits with instructions that you can take off the shelf and tweak to suit your needs. You can see how we used the individual components of Firebase to build FirebaseUI because FirebaseUI is open source. FirebaseUI has to be opinionated--we're telling you how we think the bricks should go together, so we make some choices. But because FirebaseUI is open source, you can go in and change what we're doing to better suit your individual needs.

If you're building a Lego city, you'd rather pull a bunch of houses from a pre-build collection and modify slightly to suit your needs than start from scratch and design each building by hand, right?

FirebaseUI let's you do exactly this, which is why we include it in our sample apps and examples. Developers (ourselves included) are lazy--we want the best reuse of our code and the most concise examples, and FirebaseUI allows us to provide really high quality examples that translate to really good user experiences at a fraction of the development cost.

Using Firebase with Node

Firbase Realtime Database with Android

FirebaseUI (Android)

Firebase Console

This document is very useful for those who are the beginner of the firebase analytics.This will be very helpful to understand how's firebase analytics works in the diffrent scenario.

Firebase Queue

Structuring Data

How to use FirebaseRecyclerAdapter instead of RecyclerAdapter?

Cloud Functions for Firebase

Push notification from custom server

Firebase Offline Capabilities

What should I use? Disk persistence or keepSynced calls?


From my experience I can say that it always depends of what your app is working, and how you manage the transactions and database of your application. If for example you have an application where the user is just writing and reading data but he is not able to delete or edit it, use DiskPersistence would be the right choice.

Also, DiskPersistence will store data in cache, which means that your app will use more space in the user's devices, which maybe is not the best idea in your case.

In other hand, if your application manages a lot of complex transactions and your data is updated really often, possibly you should avoid DiskPersistence and use keepSynced in the references that you want to keep fresh.

Why?


DiskPersistence stores the data retrieved in local, which sometimes can cause lot of desynchronization showing your data if you don't use it together with continous ListenerValueEvents. For example:

  1. User A writes a message "Hello World" on your app, which is recieved for user B
  2. User B download message from User A in his phone and see the message "Hello World"
  3. User A edit's his message to "Firebase is cool".
  4. User B will still watching "Hello World" message even if he updates the data cause the snapshot ref is the same when Firebase filter for it.

To avoid this the best idea is keep continous listeners in the references that you want to track all time.

Can I use both together?


Of course you can, and in most of the apps possibly is the best idea to avoid download a lot of data and give the user the possibility to work with your app even if he has no connection.

If you don't care about use cache space in the user device, I recommend you to enable diskPersistence in your FirebaseDatabaseobject and also add a keepSync flags to each reference that can have a lot of times in a short space time or you want to keep fresh all time.

How to get push key value from Firebase Database?