Be careful when using Firebase Remote Config control for pre-announced feature

--

Firebase Remote Config is an excellent tool that enables us to ship a feature hidden from the user, and get turned on at the designated time. However, if we are not careful, the hidden feature might be exposed without us knowing it. Read on how that happens.

Background

Typical Flow

As shown in diagram below, in normal convention, by default the Feature is turned OFF in Firebase. Hence the Feature is not seen in the App. As the Feature get turned on in Firebase, it will be visible to the Phone. Excellent!

App get the Feature ON or OFF per the Firebase Remote Config Setting

Caching Protection

However, in reality, we would want to use the Firebase provided caching mechanism, to ensure user doesn’t get spammed with tons of Firebase Remote Config changes immediately if the changes occur more frequently than we desire.

By default the cache expires after 12 hours

Hence the behavior would be like the diagram below. This is still all good, as we have the Feature ON ahead, and the user only get to view them later.

--

--