iOS推送備忘錄

1.如果設(shè)備offline品追,APNs的策略是什么?

根據(jù)蘋果的官方文檔卒茬,如果設(shè)備離線船老,APNs會啟動QoS機制,實現(xiàn)原理:針對該device token和該app圃酵,APNs只會保留來自provider的最后一個消息柳畔,即新的消息會覆蓋舊的消息。所以如果你的朋友手機關(guān)機或者飛行模式郭赐,你給他發(fā)10條微信薪韩,如果微信Provider不做特殊處理的話,你朋友再次啟動手機的時候只會收到最后一條消息提醒捌锭。

2. device token什么時候會變俘陷?

Device和App的四種組合,這里我們討論的是同一Device的同一App观谦,其他三種組合device token肯定都不一樣的拉盾。

一般情況下,App每次啟動從APNs獲取的device token是不會變的豁状。但是有以下幾種特殊情況:

(1)iOS系統(tǒng)升級盾剩,這個可能會導(dǎo)致拿到不同的device token。

(2)App卸載重裝替蔬,這種情況在iOS 7/8下是沒問題的,但是在iOS9/10系統(tǒng)下屎暇,拿到的device token就是不同的承桥。

(3)APNs禁用你的device token,因為某些原因根悼,比如安全問題凶异,之前獲取的device token失效,這時候再次獲取的時候也是不同的挤巡。

面對這些不確定的因素剩彬,可以采取的策略是每次都重新獲取device token,跟本地緩存的比較矿卑,如果相同喉恋,則不用更新。如果不同母廷,則向自己的服務(wù)器去更新轻黑,同時更新本地緩存的token。

3. 如何提高推送消息的送達率

APNs跟device的長鏈接由iOS操作系統(tǒng)建立和管理琴昆,我們無法控制氓鄙,我們能控制的是Provider跟APNs的通信,如何減少消息丟失以及避免重復(fù)消息可以在這里做一點研究业舍。

先來看下無效token的情況抖拦,上面說的devicetoken可能會改變或者失效升酣,這時候provider再給這個token發(fā)推送就會導(dǎo)致APNs返回失敗。因為provider與APNs之間也是通過TCP長鏈接态罪,這個失敗報錯不會立刻返回噩茄,而是要我們的服務(wù)器主動去監(jiān)聽。而且一旦有一個失敗向臀,后續(xù)的推送將會全部失敗巢墅,連接也會被延時斷開。所以如何準(zhǔn)確的定位哪個消息推送失敗券膀,是解決所有問題的關(guān)鍵君纫。

蘋果定義了推送消息體的結(jié)構(gòu),其中有個字段identifier是消息的唯一標(biāo)志符芹彬。推送失敗的情況下蓄髓,會返回給provider這個identifier,可以通過獲取這個值來定位失敗的消息舒帮,從而可以構(gòu)造下一批重新推送的消息集合会喝。

還有一個feedback service也是APNs的配套,蘋果會把失敗的device token維護在這個服務(wù)器上的一個列表玩郊,provider可以定期去獲取這個列表肢执,來更新本地服務(wù)器的token列表,從而可以減少無效的token译红,也就減少了失敗的推送以及重連的次數(shù)预茄。

4. iOS10的推送新特性

iOS10的推送更加豐富了,增加了聲音侦厚,圖片視頻的推送耻陕,需要extention的支持,這可能是需要客戶端最大改動的部分刨沦。交互方式也大大增加诗宣,支持多個category和action,用戶可以自定義行為想诅。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末召庞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子来破,更是在濱河造成了極大的恐慌裁眯,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讳癌,死亡現(xiàn)場離奇詭異穿稳,居然都是意外死亡,警方通過查閱死者的電腦和手機晌坤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門逢艘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旦袋,“玉大人,你說我怎么就攤上這事它改“淘校” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵央拖,是天一觀的道長祭阀。 經(jīng)常有香客問我,道長鲜戒,這世上最難降的妖魔是什么专控? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮遏餐,結(jié)果婚禮上伦腐,老公的妹妹穿的比我還像新娘。我一直安慰自己失都,他們只是感情好柏蘑,可當(dāng)我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著粹庞,像睡著了一般咳焚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上庞溜,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天黔攒,我揣著相機與錄音,去河邊找鬼强缘。 笑死,一個胖子當(dāng)著我的面吹牛不傅,可吹牛的內(nèi)容都是我干的旅掂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼访娶,長吁一口氣:“原來是場噩夢啊……” “哼商虐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起崖疤,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤秘车,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后劫哼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叮趴,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年权烧,在試婚紗的時候發(fā)現(xiàn)自己被綠了眯亦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伤溉。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖妻率,靈堂內(nèi)的尸體忽然破棺而出乱顾,到底是詐尸還是另有隱情,我是刑警寧澤宫静,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布走净,位于F島的核電站,受9級特大地震影響孤里,放射性物質(zhì)發(fā)生泄漏伏伯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一扭粱、第九天 我趴在偏房一處隱蔽的房頂上張望舵鳞。 院中可真熱鬧,春花似錦琢蛤、人聲如沸蜓堕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽套才。三九已至,卻和暖如春慕淡,著一層夾襖步出監(jiān)牢的瞬間背伴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工峰髓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留傻寂,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓携兵,卻偏偏與公主長得像疾掰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子徐紧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容