Firebase 服務在 Android App 上使用的簡單心得記錄

好久沒寫技術文章了,趁著還有點時間,來記錄兼分享一下今年玩Firebase上一些服務的想法與心得。

開發

Cloud Firestore

開發這塊其實沒甚麼好說的,要細講太瑣碎,要簡單提一下其實也大家都有了,沒什麼特別的地方,只好拿Cloud Firestore出來說,這個算是讓我覺得Firebase可以真的拿來做東西的開始,之前的Realtime Database真的是搞笑,主打realtime但真的有這樣需求的App其實非常少,最普遍的情境也就是聊天室,然後沒有這樣的需求他就是一個難用得要死的Database,雖然Cloud Firestore還是不支援地點的查詢,但支援集合跟一些勉強堪用的查詢,用來做一般情境下的App都算是夠用了,在這個前提之下用Firebase + Flutter來做試水溫的MVP根本完美組合。

品質

Crashlytics

這個就是收集App Crash的服務,提供不錯的後台可以當簡單的問題管理系統,在還沒被Google收購時就有在用,算是App必用服務,不知道這個服務我會懷疑你沒寫過商用App。

Test Lab

這個其實是我蠻期待的服務,分成兩塊來說,Robo測試算是很讚的懶人包,App閉著眼睛丟上去,就可以幫你測很基本的各功能會不會Crash,官方的說法是像爬蟲機器人,去爬畫面上的View並操作,也有提供線下版,也能自己錄腳本,但缺點就是腳本錄製的過程介面操作跟反應都非常慢,而且沒提供官方文件說明讓人自己手寫腳本,所以我都只用在上版前Google Play的正式發布前測試報告這塊。

而檢測設備測試,又再讓我感受到這個服務沒有做得很用心的點,如果選虛擬手機來測試在輸入時會跳出奇怪的權限要求,非預期的事件導致測試就會掛在這,這塊就很好奇是只有我會遇到,還是其他使用者根本就不用?當然選擇實體手機測試就不會遇到。

App Distribution

這個服務算是為了讓Fabric的Beta使用者能順利遷移而給的功能,但不支援App Bundle就是塊雞肋,所以這功能我沒用,而是使用Google Play中的『內部應用程式分享』來取代,但注意用這方法測試憑證會被換掉,要注意後續引發的問題。

數據分析

Events

算是整個數據分析最重要的主軸,後續強大的服務,都需要靠Events來驅動,這邊需要注意的重點是最好是使用英文來命名,雖然中文命名不影響Events的使用,但Predictions卻不支援中文的event,跟客服反應了最後也沒結果,只叫我自己注意更新資訊.....,Predictions功能強大,不用的話就浪費了,所以建議大家還是用英文命名比較實在。

如果有更多的需求就得透過收費服務BigQuery來達成了,資料導到Google Analytics也才有比較好的漏斗分析跟路徑分析,再這之前我都是用BigQuery來做的。

Funnels(漏斗)

這個其實很虛,因為它是開放式漏斗根本就是搞笑用的功能,未來應該會被Google Analytics for Firebase取代。

拓展

Predictions(預測)

Google的神machine learning(ML)服務,不得不說在很多人都還搞不清楚ML、AI是什麼?有甚麼樣的價值時,Google已經包成雲端服務來賣了,真的是走的非常前面。

而這個功能就是提供我們可以把重要event拉出來做預測,後面透過黑箱的ML告訴我們,哪些人觸發這個event的可能性是低於25%、中間50%或是可能性最高的25%,有了這樣的預測後就可以在後台訂立之後的call to action,並且可以達到分群分眾的行銷,以此來提高銷售利潤,假設我做了款遊戲,今天有個儲值的事件,那麼我就會先注意中間50%的使用者,給他一點小優惠提高他儲值的機率跟意願,前25%會觸發儲值事件使用者我就不需要給他任何優惠了,因為他儲值的機率本來就很高,如果再給他優惠的話反而是浪費了原先可能就有的利潤,
而後面的變化就可以接Remote Config、Cloud Messaging或In-App Messaging,來達到我們想Push使用者去做什麼事的目的,算是整個Firebase的免費服務中最有價值的一塊。

A/B Testing

就是幫你包好好的A/B測試服務,省得公司想做類似的事情,還又多花很多人力來做,不過真的用把這塊玩出價值的公司應該不多,一套都搞不定了哪來心力搞好幾套做A/B測試XD

Cloud Messaging

就發推播的後台,能夠很容易的串上面提到的服務,可惜出的太晚很多公司有需求都自己做了。

In-App Messaging

讓你的App有很像蓋板廣告的東西XD,但可以設定一個裝置只看一次或一天幾次很實用,就算不放廣告放公告也很不錯!

Remote Config

這個可以搭配A/B測試來嘗試不同的App模式哪個效果比較好,可以透過後台來達成開關不同設定的效果,也可以透過不同的條件來達到行銷效果,像他基本的可以分成不同平台設定(Android、iOS、Web)或特定時間的值來做期間限定活動,還可以結合GA或Events 的來做分群分眾來客製一些需求,算是一個蠻靈活的遠端設定服務。

像我還把他拿來當作公司的停機公告使用,需要注意的是權限的設定可能有BUG,設定API權限之後會拿不到値,另外文件有寫到會限制每隻裝置更新的次數與頻率,但我自己測試起來沒遇過被限制的情況就是。

大家又是怎麼善用Firebase這些功能的呢?歡迎與我們分享!

留言