當研究推送時,我們要知道推送那些功能,推送類型,分別有什么用,再結合文檔。如果慢慢的研讀模糊的文檔,需要花費大量的時間,仔細翻譯完文檔時,感覺得到信息量會很少,而且效果不太明顯。所以在研究自己陌生的東西時,我首先要研究它有那些功能,這些功能是如何實現的。
一、iOS 推送原理
蘋果的推送有如下五個步驟,
1、應用程序注冊APNS消息推送。
2、iOS從APNS Server獲取device token,應用程序接收device token。
3、應用程序將device token發送給程序的PUSH服務端程序。
4、服務端程序向APNS服務發送消息。
-
5、APNS服務將消息發送給iPhone應用程序。
原理原理
下圖是推送通知的白話版本,邏輯清晰明了。
qq 推送.png
對于 iOS 開發者而言,我們需要關心的是,我們如何操作通知,如何去完美的實現通知,我們能做是很少的。其實觸發通知只需要滿足如下四個條件:
- 1、注冊。
- 2、設置通知內容。
- 3、觸發通知,對于觸發通知,有四個條件,分別是遠程通知,時間觸發通知,日期觸發通知以及位置觸發通知。
- 4、schedule 通知。
觸發通知的條件
二、iOS10 推送樣式
推送一般分為有遠程推送和本地通送,但是蘋果有一個靜默推送,靜默推送的主要作用,通過推送讓應用在后臺自動下載內容,通過這樣可以提高用戶體驗。費話不多講,直接展示推送的樣式,先了解,它能做什么,再去實現如何它。
通知.gif
- 1、上面 Demo 通知可以實現前臺和后臺接收通知
- 2、點擊通知時,如果應用在前臺時,會自動打開應用。
-
3、下拉通知,顯示如下的內容,有圖片和 Action 按鍵。
- 4、觀看 WWDC 上有介紹,iOS 10 推送支持圖片、視頻和 gif 動畫和聲音。
- 5、上面的通知支持,前臺收到通知提示,是不是很驚,是不是很奇。
關于如何注冊通知,如何設置通知的具體操作,我后小節將會講述,敬請期待!!