推播通知是手機作業系統支援的通知功能,在 iOS 和 Android 上有不同的設計和實作流程,因此在雙平台上有許多細節需要個別調整。
首先推播通知可以分為
-
遠端推播 (Remote Notification)
從伺服器推播通知給客戶端裝置
-
本地推播 (Local Notification)
App 在本地客戶端發送推播通知訊息給自己
用戶接收到推播通知時可能會有三種情況
- App 正在前景執行
- App 在背景執行
- App 是關閉狀態
當 App 在前景執行時,會收到通知訊息,但不會觸發手機作業系統的原生通知,由於 App 在前景執行中,使用者可以依照通知訊息內容,自行客製化通知的形式。
若是 App 在背景或關閉狀態,則會觸發作業系統的原生通知,若使用者點擊通知,會開啟 App 。
如上所說,由於 iOS 和 Android 對推播系統有不同的設計和實作方式,想要跨平台的統一推播訊息並不簡單,然而不用太過擔心,透過像是 Firebase Cloud Messaging(FCM)
服務來統一處理推播通知的發送和接收可以少花許多功夫。
接下來的步驟,我們會需要用到 Firebase 服務,你可以到這邊註冊帳號 https://firebase.google.com/ ,並且建立一個新的免費專案。
我們會在 Firebase 專案後台設定 iOS / Android 的發送推播權限。
之後對 iOS / Android client 端進行 Firebase SDK 的整合,設定接收推播的權限和功能。