国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

iOS Remote Notification遠(yuǎn)程消息推送處理

2020-07-26 03:13:56
字體:
供稿:網(wǎng)友

遠(yuǎn)程消息推送處理場(chǎng)景有三種:分別是app還沒有運(yùn)行、app在前臺(tái)運(yùn)行以及app在后臺(tái)運(yùn)行,下面介紹相關(guān)流程及三種場(chǎng)景下處理步驟

1.流程

(1)注冊(cè)通知

首先是在注冊(cè)遠(yuǎn)程消息推送,需要注意的是iOS8及以后的系統(tǒng)中注冊(cè)方法有所改變(同時(shí)證書設(shè)置以及push權(quán)限也需要開啟)。這一步的目的是,允許app接收遠(yuǎn)程消息推送。

(2)綁定deviceToken

deviceToken相當(dāng)于設(shè)備的一個(gè)標(biāo)識(shí),服務(wù)器根據(jù)這個(gè)標(biāo)識(shí)來進(jìn)行消息推送。

①當(dāng)用戶同意app接收遠(yuǎn)程消息推送后,手機(jī)會(huì)向APNs發(fā)起一個(gè)請(qǐng)求去獲取deviceToken;

②APNs收到請(qǐng)求,根據(jù)其相應(yīng)流程及算法發(fā)送對(duì)應(yīng)的deviceToken給手機(jī);

③手機(jī)再將deviceToken傳遞給app;

④app再將deviceToken發(fā)送到后臺(tái)服務(wù)器進(jìn)行保存。

后臺(tái)服務(wù)器以后就是根據(jù)deviceToken發(fā)送推送消息給APNs,APNs再根據(jù)deviceToken將消息推送到對(duì)應(yīng)設(shè)備,設(shè)備再喚起app,顯示推送而來的消息。

(3)針對(duì)遠(yuǎn)程推送消息進(jìn)行處理

遠(yuǎn)程推送消息發(fā)送過來時(shí),點(diǎn)開消息常常會(huì)有一些針對(duì)性處理或流程,最常見的就是跳轉(zhuǎn)頁(yè)面等,這里不再展開,下面將介紹不同場(chǎng)景下接收到推送后的處理步驟。

2.不同場(chǎng)景下推送消息的流程

(1)app在前臺(tái)運(yùn)行時(shí)收到推送

會(huì)調(diào)用“didReceiveRemoteNotification”方法,推送的數(shù)據(jù)在userInfo里,針對(duì)處理即可。

(2)app退出到后臺(tái)狀態(tài)時(shí)收到推送

屏幕上會(huì)出現(xiàn)通知提醒,如果點(diǎn)開消息進(jìn)入app,app運(yùn)行到前臺(tái)時(shí)會(huì)調(diào)用“didReceiveRemoteNotification”方法,這也就是之前為什么要區(qū)分一下applicationState的原因,因?yàn)槎叨际峭ㄟ^這一步來處理。

(3)app處于關(guān)閉退出狀態(tài)時(shí)收到推送

同樣屏幕上出現(xiàn)通知提醒,點(diǎn)開消息進(jìn)入app,啟動(dòng)時(shí)“didFinishLaunchingWithOptions”方法里的launchOptions對(duì)應(yīng)UIApplicationLaunchOptionsRemoteNotificationKey部分內(nèi)容不再為空,含有的即是推送內(nèi)容,針對(duì)處理即可。

3.其它

(1)網(wǎng)絡(luò)狀況不佳時(shí)遠(yuǎn)程消息推送情況

如果手機(jī)不在網(wǎng)的時(shí)候,APNs會(huì)有一個(gè)QoS的東西把消息保存很短的時(shí)間,等手機(jī)在網(wǎng)時(shí)再推送過來,當(dāng)然離線時(shí)間久了,消息也就收不到了,但在實(shí)際中發(fā)現(xiàn)貌似網(wǎng)絡(luò)不佳的時(shí)候一般就收不到了。

如果手機(jī)離線時(shí),服務(wù)器推送了多條消息,即時(shí)上線了收到消息,也只會(huì)收到最新的一條

(2)推送的內(nèi)容格式

推送的內(nèi)容都有固定格式和長(zhǎng)度,包括title(iOS8.2后增加的)、body、sound等,如果本地沒有設(shè)置對(duì)應(yīng)的聲音文件,sound的值為default,收到推送的時(shí)候響起的是默認(rèn)的提示音,并且推送消息的長(zhǎng)度限制為256個(gè)字節(jié)(iOS8中這一限制放大到2kb),具體參考Local and Remote Notification Programming Guide中The Notification Payload這一節(jié)。

本文已被整理到了《iOS推送教程》,歡迎大家學(xué)習(xí)閱讀。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙里县| 孝感市| 梓潼县| 修武县| 苍溪县| 托里县| 九寨沟县| 大名县| 昭苏县| 孟津县| 天峻县| 崇阳县| 通海县| 维西| 垫江县| 阿瓦提县| 南投县| 洞头县| 界首市| 安义县| 昌平区| 平谷区| 尖扎县| 金川县| 广州市| 铁力市| 井研县| 潜江市| 南澳县| 施甸县| 兴仁县| 广灵县| 通州市| 阳新县| 仪陇县| 新蔡县| 金沙县| 天气| 古丈县| 台安县| 惠水县|