前往
大廳
主題

Objective-C以Goolge Firebase實作APP後台(一、會員篇) (未完成)

瀟湘滅光/Zaious | 2020-12-10 17:32:43 | 巴幣 0 | 人氣 185

只是懶得開Medium外加弄點東西塞到巴哈,哪天或許有緣還能幫到人。

本案需求: 老闆希望以MVP(最簡可行產品)進行展示,在後台人力不足情況下我說可以試試Google Firebase
(所以我說,我為什麼要這樣搞自己呢。)

什麼是Google Firebase呢?
Google的雲端服務,整合包含雲端儲存、雲端資料庫、使用者行動分析、廣告、跨平台會員登入、推撥通知等等,
有基本免費流量,超過後依流量計費,適合前端開發者作為小型專案的輔助用途。

如何實作跨平台會員功能? / 作為會員功能的優勢?
內建直接幫忙做好包含會員註冊、信箱驗證、密碼修改、密碼查詢等,
同時整合包含Google、FB、推特、Apple等常見平台的登入,不常見的要再研究,文件有寫的這邊都不贅述。



Tips:
主key是由Google Authentication自動身成的UUID,同時會記錄使用者ID,但不會記錄密碼。
會記錄使用者的email、可以記錄使用者的顯示名稱(displayname)與相片連結(photoUrl),但無法紀錄進一步的資訊。
解法>>在Google Cloud Firesotre另集合儲存,
以UUID作為文件名儲存APP所需使用者個人訊息,像是好友、收藏、年齡性別等。

架構:(計畫中)
集合:Users
   |(文件名:UUID)
            | DisplayName(string)
    | PhotoUrl(string)
    | Token(string) *手機推播用
    | BirthDay(string)
            | Gender(string)
            | CollectionVideo(array) 紀錄VID
            | CollectionTags(array)  紀錄TID
            | UploadVideos(array)  紀錄VID


流程:
註冊
實作Google Authentication
註冊失敗->跳錯誤
註冊成功->進入資料填寫頁面->驗證中

登入
登入失敗->跳錯誤
登入成功/未驗證->等待驗證畫面
登入成功/已驗證->回原頁面

Google的細節
客製化按鈕的方法:讓IBAction執行
[color=rgba(255, 255, 255, 0.85)]    [GIDSignIn[color=rgba(255, 255, 255, 0.85)] sharedInstance[color=rgba(255, 255, 255, 0.85)]].presentingViewController[color=rgba(255, 255, 255, 0.85)] = self[color=rgba(255, 255, 255, 0.85)];
[color=rgba(255, 255, 255, 0.85)]    [[GIDSignIn[color=rgba(255, 255, 255, 0.85)] sharedInstance[color=rgba(255, 255, 255, 0.85)]] signIn[color=rgba(255, 255, 255, 0.85)]];
實際上登入的運行都會在AppDelegate
[color=rgba(255, 255, 255, 0.85)]- (void)signIn:(GIDSignIn *)signIn
didSignInForUser[color=rgba(255, 255, 255, 0.85)]:(GIDGoogleUser[color=rgba(255, 255, 255, 0.85)] *)user
[color=rgba(255, 255, 255, 0.85)]     withError:(NSError *)error {
中,而非登入頁面。

FB的細節


Error筆記
(待補)

創作回應

更多創作