APNS的device token沒有及時更新的問題

今天遇到個客戶端沒有收到服務(wù)器APNS推送的問題,聯(lián)調(diào)了一下發(fā)現(xiàn)毒涧,是服務(wù)端與客戶端的device token不一致造成的,

而不一致的原因是客戶端沒有及時把device token發(fā)送到服務(wù)器贝室,

客戶端是在- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken NS_AVAILABLE_IOS(3_0);方法中將device token發(fā)送到服務(wù)器的契讲,

所以問題是app又是什么時候才調(diào)用這個方法呢?

打斷點試了試發(fā)現(xiàn):

在調(diào)用UIApplication.shared.registerForRemoteNotifications()方法后滑频,系統(tǒng)才會調(diào)用

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken NS_AVAILABLE_IOS(3_0);
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error NS_AVAILABLE_IOS(3_0);

其中一個

也就是說捡偏,如果沒有主動調(diào)用UIApplication.shared.registerForRemoteNotifications()方法,那客戶端就不會再次吧device token發(fā)送到服務(wù)器了误趴。

理論上這個device token不會輕易變霹琼,但也不是不會變

https://stackoverflow.com/questions/40169404/does-a-ios-push-notification-device-token-change有提到,當用戶擦除數(shù)據(jù)或者系統(tǒng)升級時凉当,就會變枣申,我自己的感覺是,隔一段時間就會變看杭。忠藤。。)

所以蘋果的建議是楼雹,每次啟動app都向apns服務(wù)器獲取device token 并發(fā)送到自己的服務(wù)器模孩。

但考慮到如果用戶剛安裝app的時候就彈出推送通知的提醒,90%會被拒掉贮缅,所以我們產(chǎn)品的設(shè)計是榨咐,當用戶需要推送時,再提示用戶開啟推送谴供,比如用戶訂閱某個訂閱號時块茁,告訴用戶可以開啟推送來第一時間知道該訂閱號有更新。

所以這里就需要一個判斷,app啟動時数焊,如果用戶還沒有開啟過通知永淌,就不要調(diào)用UIApplication.shared.registerForRemoteNotifications()注冊通知,如果用戶已經(jīng)開啟了通知佩耳,那每次啟動都要調(diào)用這個方法更新device token遂蛀;

注意:如果app還沒有注冊過通知,即app的通知狀態(tài)是notDetermined干厚,那系統(tǒng)設(shè)置的app設(shè)置里面都不會有通知設(shè)置的選項李滴,這時候調(diào)用UIApplication.shared.registerForRemoteNotifications()會彈出系統(tǒng)的“XXX想要給您發(fā)送通知”那個alert出來,如果是已經(jīng)注冊過了萍诱,不管狀態(tài)是denied還是authorized悬嗓,都不會在彈那個alert出來了,但是還是會觸發(fā)系統(tǒng)的didRegisterForRemoteNotificationsWithDeviceToken或者didFailToRegisterForRemoteNotificationsWithError方法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末裕坊,一起剝皮案震驚了整個濱河市包竹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌籍凝,老刑警劉巖周瞎,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異饵蒂,居然都是意外死亡声诸,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門退盯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彼乌,“玉大人,你說我怎么就攤上這事渊迁∥空眨” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵琉朽,是天一觀的道長毒租。 經(jīng)常有香客問我,道長箱叁,這世上最難降的妖魔是什么墅垮? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮耕漱,結(jié)果婚禮上算色,老公的妹妹穿的比我還像新娘。我一直安慰自己螟够,他們只是感情好剃允,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般斥废。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上给郊,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天牡肉,我揣著相機與錄音,去河邊找鬼淆九。 笑死统锤,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的炭庙。 我是一名探鬼主播饲窿,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼焕蹄!你這毒婦竟也來了逾雄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤腻脏,失蹤者是張志新(化名)和其女友劉穎鸦泳,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體永品,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡做鹰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鼎姐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钾麸。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖炕桨,靈堂內(nèi)的尸體忽然破棺而出饭尝,到底是詐尸還是另有隱情,我是刑警寧澤谋作,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布芋肠,位于F島的核電站,受9級特大地震影響遵蚜,放射性物質(zhì)發(fā)生泄漏帖池。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一吭净、第九天 我趴在偏房一處隱蔽的房頂上張望睡汹。 院中可真熱鬧,春花似錦寂殉、人聲如沸囚巴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽彤叉。三九已至庶柿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間秽浇,已是汗流浹背浮庐。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留柬焕,地道東北人审残。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像斑举,于是被迫代替她去往敵國和親搅轿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理富玷,服務(wù)發(fā)現(xiàn)璧坟,斷路器,智...
    卡卡羅2017閱讀 134,638評論 18 139
  • 概述 在多數(shù)移動應(yīng)用中任何時候都只能有一個應(yīng)用程序處于活躍狀態(tài)凌彬,如果其他應(yīng)用此刻發(fā)生了一些用戶感興趣的那么通過通知...
    莫離_焱閱讀 6,500評論 1 8
  • 來源:崔江濤的博客 概述在多數(shù)移動應(yīng)用中任何時候都只能有一個應(yīng)用程序處于活躍狀態(tài)沸柔,如果其他應(yīng)用此刻發(fā)生了一些用戶感...
    李棲桐閱讀 922評論 0 0
  • iOS中通知機制又叫消息機制,其包括兩類:一類是本地通知铲敛;另一類是推送通知褐澎,也叫遠程通知。兩種通知在iOS中...
    七里汀閱讀 2,090評論 3 2
  • 文/詠嘆 生活中有很多猝不及防,措手不及先鱼,或許你覺得正是陽光明媚之際俭正,殊不知,暴風(fēng)雨已悄悄的來臨焙畔,而你卻竟然毫不知...
    詠嘆調(diào)的夜晚閱讀 845評論 0 3