一種是Apple自己提供的通知服務(wù)(APNS服務(wù)器)、一種是用第三方推送機制。
首先應(yīng)用發(fā)送通知,系統(tǒng)彈出提示框詢問用戶是否允許,當用戶允許后向蘋果服務(wù)器(APNS)請求deviceToken,并由蘋果服務(wù)器發(fā)送給自己的應(yīng)用,自己的應(yīng)用將DeviceToken發(fā)送自己的服務(wù)器,自己服務(wù)器想要發(fā)送網(wǎng)絡(luò)推送時將deviceToken以及想要推送的信息發(fā)送給蘋果服務(wù)器,蘋果服務(wù)器將信息發(fā)送給應(yīng)用。
推送信息內(nèi)容,總?cè)萘坎怀^256個字節(jié);
iOS SDK本身提供的APNS服務(wù)器推送,它可以直接推送給目標用戶并根據(jù)您的方式彈出提示。
優(yōu)點:不論應(yīng)用是否開啟,都會發(fā)送到手機端;
缺點:消息推送機制是蘋果服務(wù)端控制,個別時候可能會有延遲,因為蘋果服務(wù)器也有隊列來處理所有的消息請求;第三方推送機制,普遍使用Socket機制來實現(xiàn),幾乎可以達到即時的發(fā)送到目標用戶手機端,適用于即時通訊類應(yīng)用。
優(yōu)點:實時的,取決于心跳包的節(jié)奏;
缺點:iOS系統(tǒng)的限制,應(yīng)用不能長時間的后臺運行,所以應(yīng)用關(guān)閉的情況下這種推送機制不可用。
更多:iOS面試題合集