iPhone,Android 手機(jī)是如何收到推送通知的?
我們的手機(jī)或電腦是如何收到推送通知的?
通常我們可以使用消息解決方案 Firebase 來(lái)支持通知推送。下圖顯示了 Firebase Cloud Messaging(FCM)的工作原理。
FCM 是一種跨平臺(tái)消息解決方案,可以可靠地編寫(xiě)、發(fā)送、排隊(duì)和路由推送通知。它在消息發(fā)送方(應(yīng)用程序服務(wù)器,App Server)和接收方(客戶(hù)端應(yīng)用程序,Client Apps)之間提供了統(tǒng)一的 API。應(yīng)用程序開(kāi)發(fā)人員可以使用該解決方案來(lái)提高用戶(hù)留存率。
第 1 - 2 步
當(dāng)客戶(hù)端應(yīng)用程序首次啟動(dòng)時(shí),客戶(hù)端應(yīng)用程序會(huì)向 FCM 發(fā)送憑證,包括 Sender ID、API Key 和 App ID。FCM 會(huì)為客戶(hù)端應(yīng)用程序?qū)嵗勺?cè)令牌(Registration Token,因此注冊(cè)令牌也稱(chēng)為實(shí)例 ID)。該令牌必須包含在通知中。
第 3 步
客戶(hù)端應(yīng)用程序?qū)⒆?cè)令牌發(fā)送到應(yīng)用程序服務(wù)器。應(yīng)用程序服務(wù)器會(huì)緩存令牌,以便后續(xù)通信使用。隨著時(shí)間的推移,應(yīng)用服務(wù)器會(huì)有太多的令牌需要維護(hù),因此建議的做法是存儲(chǔ)帶有時(shí)間戳的令牌,并不時(shí)刪除過(guò)期令牌。
第 4 步
發(fā)送消息有兩種方法。一種是直接在控制臺(tái)圖形用戶(hù)界面中編寫(xiě)消息(第 4.1 步),另一種是從應(yīng)用程序服務(wù)器發(fā)送消息(第 4.2 步)。
第 5 步
FCM 接收信息,如果設(shè)備不在線,則將信息放入存儲(chǔ)隊(duì)列。
第 6 步
FCM 將信息轉(zhuǎn)發(fā)到平臺(tái)級(jí)傳輸層。該傳輸層處理特定于平臺(tái)的配置。
第 7 步
將信息路由到目標(biāo)設(shè)備??筛鶕?jù)應(yīng)用程序服務(wù)器發(fā)送的配置顯示通知。