Android Firebase接入(序)--Firebase簡介以及Firebase官方Demo的使用
目錄
一、Firebase簡介
Firebase是谷歌旗下的一個強大的工具,使用Firebase需要翻牆。Firebase提供了以下幾大功能:
1.app埋點:Analytics
應用內資料上報,幫助分析使用者在app內的行為
2.雲訊息推送:Firebase Cloud Message
即:FCM,幫助app推送通知
3.身份驗證:Authentication
方便的實現google登入,facebook登入,twitter登入,github登入,郵箱登入,電話登入以及自定義驗證登入
4.實時資料庫:Database和最新的Firestore
無需搭建伺服器就能擁有一個實時的資料庫,可以用來儲存自己想要儲存的任何資料。
5.雲倉庫:Cloud Storage
無需搭建伺服器就能擁有一個雲倉庫,可以用來儲存檔案,如圖片、音訊、視訊。不過免費版最多儲存1個G的檔案。
6.app崩潰報告:Firebase Crashlytics
自動記錄應用內崩潰資訊,只需簡單的幾步,就可以將Firebase Crashlytics新增到安卓工程中,然後Firebase Crashlytics就會自動的收集應用內崩潰資訊,包括錯誤型別,程式碼定位等等,非常的方便實用
7.Firebase遠端配置:Remote Config
相當於在伺服器上設定幾個key-value欄位,我們在應用內可以請求這幾個欄位,通過value值設定我們的app。
比如:將app頁面的背景色放在遠端配置中,啟動app時拉取遠端配置,根據遠端配置中的value值設定頁面背景色。這樣就實現了動態配置app的背景色。
讀者可能會疑惑:使用實時資料庫是不是也一樣能實現這個功能?只要在資料庫裡設定幾個用於app配置的欄位就可以了。或者使用雲倉庫是不是也能實現這個功能?儲存一個用於app配置的檔案,每次開啟app拉取此檔案,然後根據讀取的內容動態配置app就可以了?
是的,這兩種方法一樣可以實現遠端配置。只是用Firebase遠端配置實現的話,對app的效能影響最低,實現起來也更優雅。
8.A/B測試
通過Firebase遠端配置的A/B測試,幫助瞭解哪種配置使用者更喜歡。
比如:如果你想了解使用者更喜歡紅色風格的充值頁面還是綠色風格的充值頁面,那麼你就可以使用A/B測試,在遠端配置中設定A方案:紅色和B方案:綠色,並設定A方案和B方案的比例,比如各佔50%。這樣使用者拉取配置的時候,50%的使用者會拉取到紅色,50%的使用者會拉取到綠色。再配合在使用者充值時埋點,分析出紅色頁面和綠色頁面的充值比例。這樣你就可以選出更好的方案,獲得更多的收益。
9.動態連結:Dynamic Link
生成一個根據不同的場景響應不同行為的連結。
比如:你想要為app新增一個房間內邀請好友的功能,如果好友也安裝了此app,點選分享連結就進入此房間,如果好友沒有安裝此app,那就跳轉到Google Play下載頁面(或者你自定義的任何頁面),如果好友沒有安裝此app,而且他是蘋果手機,那就跳轉到蘋果商店的應用下載頁面。這個功能就可以使用Firebase的動態連結實現。
10.邀請:Firebase invites
邀請好友,基於Firebase動態連結。使用邀請功能讓使用者邀請好友下載或開啟app更加的方便。
11.AdWords
幫助投放app,就是給錢讓谷歌給你打廣告。主要有以下幾種渠道:
11.1.買關鍵詞
平時我們用搜尋引擎的時候,搜尋的結果中一般都有幾條廣告。這就是廣告主買關鍵詞的作用。廣告主買一些關鍵詞,當使用者用谷歌搜尋這些關鍵詞的時候,就展示你的app下載連結。
買個Google Play關鍵詞,使用者一搜Google Play就搜到你的應用了,是不是很舒服。當然,沒有這麼簡單,你想得到別人也想得到。買Google Play關鍵詞的人非常多,Google的策略大致就是價高者得。所以越火的關鍵詞就會越貴,想要賺錢就需要權衡廣告投入成本和應用的收益。
11.2.買應用內廣告或網頁廣告
訪問一些app或者網站時,邊邊角角會有一些廣告彈出,這也是廣告主買的。
12.AdMob
在自己的app裡面打廣告,賺取收益。和AdWords對應著看,舉個例子:你用AdWords買一個廣告位,展示一千次自己app的廣告給了谷歌1美元,再使用AdMob展示別人的廣告賺取收益,展示了一千次賺取了0.1美元。嗯,只想說:谷歌真賺錢。
以上只是Firebase的大部分功能,Firebase還有機器學習套件,網頁託管等等功能。筆者尚未接觸,故不再介紹。
二、官方Demo
Firebase 官方Demo 的Github地址:https://github.com/firebase/quickstart-android
使用方法:Firebase的官方Demo並不是一個專案,而是很多個專案。檢視某功能的Demo需要以下幾步:
1.下載對應的專案並開啟
如:Firebase埋點對應的專案是analytics
2.配置Android應用並下載google-service.json檔案
在Firebase控制檯新建專案(需要使用Google賬戶登入),配置好Android應用後下載google-service.json檔案,將google-service.json檔案新增到專案的app目錄下即可。
2.1.新增專案
1.填寫專案名稱
2.專案id可以使用預設的
3.選擇國家
4.底部的兩個勾選項要麼都選,要麼都不選,表示是否和Google分享你的app分析資料
5.最後點選建立專案即可。
2.2.新增Android應用
選擇“將Firebase新增到您的安卓應用”,然後填寫app包名,app別名,除錯簽名證照SHA1
2.2.1獲取除錯簽名證照SHA1
開啟命令列工具
Mac環境輸入以下命令:
keytool -exportcert -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore
Windows環境輸入以下命令:
keytool -exportcert -list -v \
-alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
輸入命令列後需要輸入金鑰庫口令,預設的金鑰庫口令是android
2.2.2獲取正式簽名證照SHA1
keytool -exportcert -list -v \
-alias <your-key-name> -keystore <path-to-production-keystore>
在填入金鑰名,填入金鑰路徑,然後輸入金鑰庫口令即可獲取SHA1。
4.下載google-service.json檔案加入專案
新增好Android應用後,下載google-service.json檔案,新增到專案的app目錄下即可執行Demo專案。
通過檢視官方Demo,可以更快的瞭解Firebase的使用,方便我們學習Firebase的功能。後面我們將依次學習Firebase的各項功能。
相關文章
- 在 django 中使用 firebase 傳送通知Django
- [JavaScript+Firebase]基於Google Firebase的無後臺web端註冊與登入JavaScriptGoWeb
- supabase/supabase: 開源Firebase 替代方案
- 使用 React+TypeScript+Firebase 實現的 Chrome Extension 總結ReactTypeScriptChrome
- 利用華為DTM將事件傳送到Firebase事件
- 從Firebase+Redis遷移到PlanetScale+MySQLRedisMySql
- 使用 Flutter 與 Firebase 製作 I/O 彈球遊戲Flutter遊戲
- Firebase 在 Google I/O 2018上有什麼更新?Go
- Spring Boot中的Firebase身份驗證+Firestore整合原始碼Spring BootREST原始碼
- Rocketgraph:用Golang編寫的Firebase的開源替代品Golang
- 怎樣在React-redux應用中使用Firebase實時資料庫ReactRedux資料庫
- 【PWA學習與實踐】(4) 解決FireBase login驗證失敗問題
- [譯] 更好的資料,更明智的決策:Google Play Console 和 Firebase 幫你分析你的使用者Go
- 使用Red5-Pro Android官方Demo拆解分析(一)Android
- RabbitMQ 簡介以及使用場景MQ
- Kubernetes簡介以及如何使用YAML配置?YAML
- 關於dva框架的簡單操作以及demo框架
- Docker相關簡介以及使用方法Docker
- 使用DeepKE訓練命名實體識別模型DEMO(官方DEMO)模型
- Android專案接入MapLibre Native的簡單案例Android
- Android元件化demo實現以及遇坑分享Android元件化
- Qwt開發筆記(一):Qwt簡介、下載以及基礎demo工程模板筆記
- android Palette簡介Android
- Android LowMemoryKiller 簡介Android
- Android 官方元件 Navigation 初使用Android元件Navigation
- libwebsocket demo以及遇到的坑。Web
- Jira使用簡介 HP ALM使用簡介
- 朝花夕拾之socket的基本使用以及mina框架簡單介紹框架
- SpringCloud簡介以及相關元件SpringGCCloud元件
- docker簡介以及優缺點Docker
- LeNet簡介以及Caffe實現
- Swift keychain 官方封裝DemoSwiftAI封裝
- Android AppLinks 接入AndroidAPP
- android studio模版功能簡介Android
- RPC模式的介紹以及簡單的實現RPC模式
- Sentry 官方 JavaScript SDK 簡介與除錯指南JavaScript除錯
- Android NDK——初識協程(Coroutine)和libco的簡單介紹使用Android
- Spring cloud(1)-簡介以及選擇SpringCloud