一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - iOS Remote Notification遠程消息推送處理

iOS Remote Notification遠程消息推送處理

2021-01-28 16:25hou0716 IOS

這篇文章主要為大家詳細介紹了iOS Remote Notification遠程消息推送處理,感興趣的小伙伴們可以參考一下

遠程消息推送處理場景有三種:分別是app還沒有運行、app在前臺運行以及app在后臺運行,下面介紹相關流程及三種場景下處理步驟

1.流程

(1)注冊通知

首先是在注冊遠程消息推送,需要注意的是ios8及以后的系統中注冊方法有所改變(同時證書設置以及push權限也需要開啟)。這一步的目的是,允許app接收遠程消息推送。

iOS Remote Notification遠程消息推送處理

iOS Remote Notification遠程消息推送處理

(2)綁定devicetoken

devicetoken相當于設備的一個標識,服務器根據這個標識來進行消息推送。

①當用戶同意app接收遠程消息推送后,手機會向apns發起一個請求去獲取devicetoken;

②apns收到請求,根據其相應流程及算法發送對應的devicetoken給手機;

③手機再將devicetoken傳遞給app;

④app再將devicetoken發送到后臺服務器進行保存。

iOS Remote Notification遠程消息推送處理

iOS Remote Notification遠程消息推送處理

后臺服務器以后就是根據devicetoken發送推送消息給apns,apns再根據devicetoken將消息推送到對應設備,設備再喚起app,顯示推送而來的消息。

iOS Remote Notification遠程消息推送處理

(3)針對遠程推送消息進行處理

遠程推送消息發送過來時,點開消息常常會有一些針對性處理或流程,最常見的就是跳轉頁面等,這里不再展開,下面將介紹不同場景下接收到推送后的處理步驟。

2.不同場景下推送消息的流程

(1)app在前臺運行時收到推送

會調用“didreceiveremotenotification”方法,推送的數據在userinfo里,針對處理即可。

iOS Remote Notification遠程消息推送處理

(2)app退出到后臺狀態時收到推送

屏幕上會出現通知提醒,如果點開消息進入app,app運行到前臺時會調用“didreceiveremotenotification”方法,這也就是之前為什么要區分一下applicationstate的原因,因為二者都是通過這一步來處理。

(3)app處于關閉退出狀態時收到推送

同樣屏幕上出現通知提醒,點開消息進入app,啟動時“didfinishlaunchingwithoptions”方法里的launchoptions對應uiapplicationlaunchoptionsremotenotificationkey部分內容不再為空,含有的即是推送內容,針對處理即可。

iOS Remote Notification遠程消息推送處理

3.其它

(1)網絡狀況不佳時遠程消息推送情況

如果手機不在網的時候,apns會有一個qos的東西把消息保存很短的時間,等手機在網時再推送過來,當然離線時間久了,消息也就收不到了,但在實際中發現貌似網絡不佳的時候一般就收不到了。

如果手機離線時,服務器推送了多條消息,即時上線了收到消息,也只會收到最新的一條

(2)推送的內容格式

推送的內容都有固定格式和長度,包括title(ios8.2后增加的)、body、sound等,如果本地沒有設置對應的聲音文件,sound的值為default,收到推送的時候響起的是默認的提示音,并且推送消息的長度限制為256個字節(ios8中這一限制放大到2kb),具體參考local and remote notification programming guide中the notification payload這一節。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
  • IOSiOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)

    iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和

    這篇文章主要介紹了iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)的相關資料,需要的朋友可以參考下...

    CodingFire13652021-02-26
  • IOSiOS中UILabel實現長按復制功能實例代碼

    iOS中UILabel實現長按復制功能實例代碼

    在iOS開發過程中,有時候會用到UILabel展示的內容,那么就設計到點擊UILabel復制它上面展示的內容的功能,也就是Label長按復制功能,下面這篇文章主要給大...

    devilx12792021-04-02
  • IOSiOS中MD5加密算法的介紹和使用

    iOS中MD5加密算法的介紹和使用

    MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文...

    LYSNote5432021-02-04
  • IOSiOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果的相關資料,需要的朋友可以參考下...

    jiangamh8882021-01-11
  • IOSiOS實現控制屏幕常亮不變暗的方法示例

    iOS實現控制屏幕常亮不變暗的方法示例

    最近在工作中遇到了要將iOS屏幕保持常亮的需求,所以下面這篇文章主要給大家介紹了關于利用iOS如何實現控制屏幕常亮不變暗的方法,文中給出了詳細的...

    隨風13332021-04-02
  • IOS詳解iOS中多個網絡請求的同步問題總結

    詳解iOS中多個網絡請求的同步問題總結

    這篇文章主要介紹了詳解iOS中多個網絡請求的同步問題總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    liang199111312021-03-15
  • IOSiOS開發之視圖切換

    iOS開發之視圖切換

    在iOS開發中視圖的切換是很頻繁的,獨立的視圖應用在實際開發過程中并不常見,除非你的應用足夠簡單。在iOS開發中常用的視圖切換有三種,今天我們將...

    執著丶執念5282021-01-16
  • IOSiOS開發技巧之狀態欄字體顏色的設置方法

    iOS開發技巧之狀態欄字體顏色的設置方法

    有時候我們需要根據不同的背景修改狀態欄字體的顏色,下面這篇文章主要給大家介紹了關于iOS開發技巧之狀態欄字體顏色的設置方法,文中通過示例代碼...

    夢想家-mxj8922021-05-10
主站蜘蛛池模板: 精品在线网站 | 3x免费高清视频 | 免费看男女做好爽好硬视频 | 欧美精选欧美极品 | 好大用力深一点女公交车 | 欧美日韩在线一区 | 国产精品久久毛片完整版 | 热99这里只有精品 | 日本美女视频韩国视频网站免费 | 国产成人在线小视频 | 国产精品久线观看视频 | 国产精品亚洲综合第一区 | 美女机机对机机的视频(免费) | 国产欧美日韩视频在线观看一区二区 | 亚欧毛片基地国产毛片基地 | 欧美va在线 | 果冻传媒ⅹxxxxxhd | 久青草国产在视频在线观看 | 青青草成人在线观看 | 久操久操久操 | 四虎影视在线影院在线观看观看 | 亚洲免费国产 | 办公室强行丝袜秘书啪啪 | h肉动漫在线视频无修无遮挡 | 女烈受刑重口小说 | 精品性影院一区二区三区内射 | 国产精品欧美亚洲韩国日本 | 出轨同学会免费观看 | 91精品国产综合久久精品 | 精品无码久久久久久久久 | 精品欧美一区二区三区久久久 | 青春草视频免费观看 | 任你操视频在线观看 | 久久久久久免费观看 | 久久re视频这里精品一本到99 | 人与动人物人a级特片 | 我的妹妹最近有点怪免费播放 | 精品久久久久香蕉网 | 亚洲福利一区二区三区 | 成人女人天堂午夜视频 | 调教处男 |