FireStore+Cloud Function+FCM推播 ios swift教學

最終目標是利用firebase的Cloud Function功能,達到當server接收到指定事件時,自動發送推播給指定的手機.

自己在測試的流程為:
(1)先測試推播功能是否可以成功(FCM,APNS)->(2)成功後研究FireStore database 的資料格式原理->(3)最後架設nodeJS 至firebase的Cloud Function

(1)先測試推播功能是否可以成功(FCM,APNS),
本文採取FCM方式

推播有兩種方式,利用FCM 或 APNS 來推播,這兩個方式的程式碼也不太一樣。

Apns 推薦參考:
https://www.appcoda.com.tw/push-notification/

FCM 推薦參考:
說明各種推播的內容格式->要全部詳讀一遍
https://firebase.google.com/docs/cloud-messaging/send-message

(2)成功後研究FireStore database 的資料格式原理

以下網址推薦參考:

提到不錯的FireStore 相關使用技巧
https://blog.testfairy.com/getting-started-with-firebase-cloud-firestore-in-ios-project/

官方文件
https://firebase.google.com/docs/firestore/query-data/listen

讀取 Cloud Firestore 的 database
https://medium.com/%E5%BD%BC%E5%BE%97%E6%BD%98%E7%9A%84-swift-ios-app-%E9%96%8B%E7%99%BC%E5%95%8F%E9%A1%8C%E8%A7%A3%E7%AD%94%E9%9B%86/%E8%AE%80%E5%8F%96-cloud-firestore-%E7%9A%84-database-203bdcdb5661



(3)最後架設nodeJS 至firebase的Cloud Function

推薦參考網址:
https://litotom.com/2017/04/11/firebase-functions-nodejs/

https://firebase.google.com/docs/functions/firestore-events

https://firebase.google.com/docs/functions/get-started

 

課外補充:
再翻官方文件有看到一個未來可能會碰到的問題,先把它記錄下來。
ex:其中特別一個例子是,若多位使用者同時修改資料庫的某一個參數,比如使用者按下按鈕後要加一。若沒特別處理的話,同時按下按鈕可能不會累加上去,必須用Transaction這個函式來處理。
https://firebase.google.com/docs/firestore/manage-data/transactions

終程式碼


 當改變bird 的內容像name欄位bird8時 ,就會觸發推播!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *