ios推送原理:
準(zhǔn)備工作:
1)需要一個付費(fèi)的蘋果開發(fā)者賬號(免費(fèi)的不可以做遠(yuǎn)程推送)。
2)去蘋果開發(fā)者網(wǎng)站,配置自己所需要的推送的相關(guān)證書垒探,然后下載證書,供我們后面使用怠李。-
基本原理:
蘋果的推送服務(wù)通知是由自己專門的推送服務(wù)器APNs (Apple Push Notification service)來完成的叛复,其過程是 APNs 接收到我們自己的應(yīng)用服務(wù)器發(fā)出的被推送的消息,將這條消息推送到指定的 iOS 的設(shè)備上扔仓,然后再由 iOS設(shè)備通知到我們的應(yīng)用程序褐奥,我們將會以通知或者聲音的形式收到推送回來的消息。
iOS 遠(yuǎn)程推送的前提是翘簇,裝有我們應(yīng)用程序的 iOS 設(shè)備撬码,需要向 APNs 服務(wù)器注冊,注冊成功后版保,APNs 服務(wù)器將會給我們返回一個 devicetoken呜笑,我們獲取到這個 token 后會將這個 token 發(fā)送給我們自己的應(yīng)用服務(wù)器夫否。
當(dāng)我們需要推送消息時,我們的應(yīng)用服務(wù)器將消息按照指定的格式進(jìn)行打包叫胁,然后結(jié)合 iOS 設(shè)備的 devicetoken 一起發(fā)給 APNs 服務(wù)器凰慈。我們的應(yīng)用會和 APNs 服務(wù)器維持一個基于 TCP 的長連接,APNs 服務(wù)器將新消息推送到iOS 設(shè)備上驼鹅,然后在設(shè)備屏幕上顯示出推送的消息微谓。
-
設(shè)備注冊APNs
上圖完成了如下步驟:
1)Device(設(shè)備)連接APNs服務(wù)器并攜帶設(shè)備序列號(UUID)
2)連接成功,APNs經(jīng)過打包和處理產(chǎn)生devicetoken并返回給注冊的Device(設(shè)備)
3)Device(設(shè)備)攜帶獲取的devicetoken發(fā)送到我們自己的應(yīng)用服務(wù)器 -
推送過程
推送的過程經(jīng)過如下步驟:
1)首先输钩,我們的設(shè)備安裝了具有推送功能的應(yīng)用(應(yīng)用程序要用代碼注冊消息推動)豺型,我們的 iOS設(shè)備在有網(wǎng)絡(luò)的情況下會連接APNs推送服務(wù)器,連接過程中买乃,APNS 服務(wù)器會驗證devicetoken姻氨,連接成功后維持一個基于TCP 的長連接;
2)Provider(我們自己的應(yīng)用服務(wù)器)收到需要被推送的消息并結(jié)合被推送的 iOS設(shè)備的devicetoken一起打包發(fā)送給APNS服務(wù)器剪验;
3)APNS服務(wù)器將推送信息推送給指定devicetoken的iOS設(shè)備肴焊;
4)iOS設(shè)備收到推送消息后通知我們的應(yīng)用程序并顯示和提示用戶(聲音、彈出框)