這篇是用來記錄我使用 Firebase 的測試與初步感想,時間為 2016年,10月,使用 XCode 8+ Swift 3  分享給大家參考。

寫 APP 是件有趣的工作,但相對來說,要成就一個 APP 也要相對的多方面了解各種 IT 技術。一個典型的應用,至少要整合一起網路資源,甚至要寫後台,和跨平台的運作。所以需要 Android , iOS, BackEnd, UI  等多種技術能力,但一旦人多,成本和協調都是不小的問題。所以新進的,低成本的創業人,往往只能做單一系統,沒有後台的 APP,但是這種 APP 往往長不大,也不太能知道成果。

還好由於雲端技術的發達,現在己有無數服務型後台(BaaS),經過幾年來各種服務的演進,己有不少固定功能的事情不用麻煩後台開發,直接使用服務就可以了。

這次試的是 Google 在 2016 Google I/O 重新發佈的 Firebase,  其實是 2011 年就開始的公司,Google 在 2015 年買下後,在 Google I/O 2016 才正式重新發佈, 其中有許多本來要找人寫的功能,現在都可以直接用了。

首先,從引入 SDK 講起。
 

引入SDK到你的 Xcode 專案,需要以下動作

 

準備工作:. 登入 Firebase 網站,進入控制台

1. 建立 Firebase 專案與 APP ,與 Xcode 專案

2. 引入 GoogleService-Info.plist 設定檔到你的專案

3. 使用 Cocoapods 下載並設定你的專案, 使用 Cocoapods 修改過的專案檔開啟你的專案

4. 撰寫你的 Code 


聽起來很簡單,但若沒做過的人,也是有一點困難在啊! 以下為詳細說明:

 

準備工作:. 登入 Firebase 網站,進入控制台

Firebase 網站位於:

https://firebase.google.com

要使用 Firebase 首先要有一個 Google 帳號,也就是 G+,Gmail 等系統用的帳號,之後就用這個帳號來管理你的 Firebase 應用程式,由於這個帳別必需較嚴謹,所以需要多重驗證,所以你需要準備你的手機,準備收一下簡訊,不過這對大多數人來說問題也不大

成功登入後進入右上方的控制台,或直接到

https://console.firebase.google.com 

進入控制台,準備下一個動作

 

1. 建立你的 Firebase APP

其實這部份要建立兩個東西,第一個是 Firebase 專案。結構上,我們要提供給 iOS, Android , web 等不同平台相同的一份資料,包括登入驗證,推播資料庫等,但各平台的建立方法,需求特性不同所所以首先要建立 Firebase 專案,再於該專案下面,再建站立APP,提供給不同的平台,或同一平台不同的版本,狀態(開發,測試,上架等)。

要建立 Firebase 專案,這個超簡單的,只要 APP 名稱(給自己看的)和國家就可以了,為什麼需要國家呢,簡單的講是要收錢的,Firebase 要收費?是的,它是要收費的,Google 慈善機構,不過他也是有佛心來的,不會和窮人收錢,你的APP要長大,才有付費的資格,在免費的狀況下,己經可以做很多事了,若搞到要付錢,那表示你的APP己經小有成就了,若要收到 25$ 以上方案,你就要認真思考你的商業模式了。

免費可以做什麼事呢,以下項目現在是完全免費的:
 

Analytics,

App Indexing,

Authentication,

Cloud Messaging,

Crash Reporting,

Dynamic Links,

Invites, Notifications

Remote Config

 

那什麼東西是要收費的呢?主要是 Realtime DataBase, Storage,與 Hosting,這些也都是有免費額度,像是 Storage, 免費有 5G 的容量與 30G/5萬次的額度可以用,到達這個量,若在你的 APP 下廣告,應該也小有成果了,即使收費,也不算太貴,價目表看這裡:  https://firebase.google.com/pricing/


建立好 Filebase專案,就要建立APP了,在控制台上,有個明顯的按鈕建立一個APP,按下去就好了,但是在按下去的同時,要準備好 Xcode 確認專案的 ID 

螢幕快照 2016-10-13 下午8.14.09.png

 

建立 APP 唯一要注意的是 Bundle ID,  若你是付費的開發者,而且產品己經上架,可選用 App Store ID。

這個畫面上的 ID 就是我們在 Xcode 建立 iOS 新專案的 APP Bundle ID,  也是付費開發者在開發者網站上建立的 APP APPID

 

螢幕快照 2016-10-25 上午10.26.25.png

所以在這個階段,除非你只是要做測試,未來沒有要用這個專案上架,否則這個動作就要到Apple開發者網站確認你的 APP ID

2. 下載複製設定檔

螢幕快照 2016-10-25 上午11.00.36.png

 

不用到處找按鈕按,在上一動按下時,檔案己經在下載中了,firebase 的好處是功能太強大,所以功能要設數十個參數,還好有這個檔案,你可以直接拉到專案中,不用設定一堆參數,內容大概是這個樣子(紅色沒有意義,只是馬塞克)。


螢幕快照 2016-10-25 上午11.33.55.png

 

若有任何修正或改版,最好是不要自己修改這個檔案,若真的有需要,建議條改設定後,重新下載這個檔案匯即可。

 

3. 使用 cocospods 下載管理SDK

cocospad 是個很方人便的SDK 套件管理工具,本身是 Ruby 寫的,用來管理和更新一堆SDK,或者管理像是 Firebase 這種項目很多的 SDK,特別好用
螢幕快照 2016-10-25 上午11.47.56.png


畫面上做了簡單的說明,如何引入SDK,不過對沒有用過 CocoaPods 的人,應該是一頭霧水。

若你沒有用過 CococPods, 首先要安裝 CocoaPods,然後你需要用到終端機的命令例操作,如果你對以上都不熟

就照著以下方法做就好了

 a. 安裝 CocoaPods:  

 這需要用到Ruby,除非你的 Mac 有故意移除,或系統太舊,不然都應該己安裝好 Ruby 才對,所以在 macOS 10.11, 10.12 + Xcode 7/8 等版本狀況下,只要一行指令就可以完成安裝了,由於是線上安裝,所以網際網路一定要是通的狀況下,執行【終端機】(在 finder 中搜尋一下,或在應用程式上找一下就可以找到),然後打以下指令,並輸入系統密碼,就可以找到了

指令:

sudo gem install cocoapods

  

一切正常的話,就會出現類似以下的畫面,基本上都是下載和安裝一堆程式

 

螢幕快照 2016-10-25 上午11.22.39.png

 

若你出現的畫面不太一樣,就需要檢查一下網路,再試一次,若還是不行,多半是 Ruby 的問題,就要找人支援了。

 

b. 為專案初始化

一樣要用命令例,若你不熟命令例,請把專案建在桌面上。其實也只有一行指令,必需移動到專案資料夾中,再執行 pod init
以上為範例(專案在桌面上,Sample 的資料匣):

螢幕快照 2016-10-25 下午1.45.57.png

 

如果目錄中,出現一個 "Podfile" 的檔案,就表示設定成功了它就是這個專案的 Pod設定檔
 

c. 修改 Podfile

這個動作是要修改 Podfile,它是一個文字檔,若你很熟 vi 或其他的文編輯工具,就可以直接打開它,否則就像我一樣用 Xcode 打開它,同樣用指令

open -a Xcode Podfile

就可用 Xcode 編寫設定檔,而我們要修改的部份下圖中的每個 target 區段,加上 【pod 'Firebase/Core'】
未來在各個子項目,可能要在這而加其他 SDK
 

螢幕快照 2016-10-25 下午1.54.52.png

 

在確認完成修改後,執行 pod install 順利的話,專案需要的 SDK 就會下載/安裝/更新了(同樣需要網路)

 


螢幕快照 2016-10-25 下午2.02.53.png

 

到此為止,你己經完成了 SDK 的安裝

 

4. 使用新的設定檔開啟專案

最後一個動作就是用新的設定檔開啟專案,並開始寫 Code 了

CocoaPods 會幫我們新建一個  .xcworkspace 檔,用 Xcode 開啟該檔就可以開始寫 Firebase 的 Code 了。
下回見

 

螢幕快照 2016-10-25 下午2.06.44.png

 

 

最後一件事,為了確認一切 OK,請修改 Xcode 專案中 AppDelegate.switf 中加入

 

import Firebase

 

並在 application(_:willFinishLaunchingWithOptions:)  方法中加入

FIRApp.configure()

 

執行過之後,你己經引用了 Firebase 的 Core 與 Analytics 了,如果一切順利,網路暢通的話,最多的 24 小時後,你就可以在 firebase 主制台查看自己APP的使用狀況了

文章標籤
創作者介紹

X Code Objective-C Swift 學習記錄 for iOS & macOS (OS X)

shenfive 發表在 痞客邦 PIXNET 留言(0) 人氣()