[Android] Firebase Remote Config

Firebase 稍早時推出新版函式庫(可參考這篇文章的介紹),其中 Remote Config 能讓開發者將系統參數設定在 Firebase 後台,App 會存取遠端的參數設定。當有任何參數異動時,只要修改雲端的參數設定,其參數值馬上會在 App 端生效。

同樣是將資料儲存在 Firebase 後台,Firebase Remote Config 和 Firebase Database 最大的不同是,因為參數值不像一般的資料,其變動性不大,不需要隨時存取。因此 Remote Config 有 Cache 的機制,預設 expiration time 是 12 個小時(這個值是可以變更的),12 個小時內都會從 local 端取得未過期的資料,超過 12 個小時後 App 執行時,才會再向 Firebase 後台要一次資料。若伺服器端的參數值已變更並重新發佈,仍要等待 Cache 過期後,新的參數值才會生效

因為涉及資料安全,Google 建議 Remote Config 的參數不要放例如使用者認證資料、序號等敏感性資料。

Remote Config 設置

登入 Firebase Console,進入應用程式專案的「Remote Config」 ,新增第一個參數。

自訂參數名稱及參數值,目前支援五種資料型態的參數:Boolean、ByteArray、Double、Long、String。

增加參數後,按下「發佈變更」就立即生效。日後如果要更改參數值,一樣要從這裡發佈變更。

程式

在 App 端程式的部分,首先要加入 Firebase Remote Config 函式庫。
compile 'com.google.firebase:firebase-config:9.6.0'

然後參考下面的範例程式,從 Firebase 取得參數值。addOnCompleteListener 中的 onComplete方法,即使在無網路之下也會執行,因此可以直接將取得參數值之後的動作寫在這裡。


設定參數條件

Remote Config 的參數,還可以設定條件針對部分裝置生效,可用於 A/B 測試和階段性上線(Gradual Rollouts)。

從參數設定的右上方「新增條件的值」進入

可以定義這個參數的條件,條件可定義不只一個。

參考資料

相關文章

如何將電腦畫面經由 Chromecast 投放到電視螢幕上

Mac與Android裝置傳輸檔案的方法

Chrome 的檔案續傳功能

使用 Line Bot API 製作聊天機器人