iOS push payload

最近為了應(yīng)對客戶的需求,需要對群聊中根據(jù)用戶的設(shè)置進行消息免打擾晨炕。抽空又仔細看了一下iOS push的格式衫画,并且使用Knuff進行了一些實驗。蘋果官方guide其實說的還是很清楚的瓮栗。

普通的remote push notification削罩,有提示(APP在后臺或closed狀態(tài)時瞄勾,1,響一聲弥激,2进陡,手機上方出現(xiàn)橫幅,3微服,消息顯示在通知中心) 時趾疚,推送payload格式:

{
    "aps":{
        "alert": {
            "body": "hello",
            "title": "You have a new message"
        },
        "sound": "default",
        "badge": 1
    },
    "custom1": "custom information"
}

其中:
body:消息的內(nèi)容;
title:消息橫幅中顯示為粗體
sound:提示音
custom1:用戶自定義的字段
badge: 紅點角標(數(shù)字以蕴,不能...盗蟆,可以很大)

如果APP在后臺或者closed狀態(tài)時,收到消息推送舒裤,不希望出現(xiàn)提示音喳资,但是出現(xiàn)消息橫幅,消息顯示在通知中心腾供,則payload里不能出現(xiàn)sound字段仆邓,為:

{
    "aps":{
        "alert": {
            "body": "hello, no sound",
            "title": "You have a new message"
        }
    },
    "custom1": "custom information"
}

注意:沒有"sound"字段就不會響一聲提示,但是橫幅和通知中心都不會受影響伴鳖;

另外节值,iOS有一種推送,稱為 "silent push"榜聂,它的payload格式如下:

{
    "aps":{
        "content-available": 1
    },
    "custom1": "custom information"
}

silent push要求push payload必須滿足下面兩點:

1) The payload’s aps dictionary must include the content-available key with a value of 1.
必須有"content-available"搞疗,且值為1;
2) The payload’s aps dictionary must not contain the alert, sound, or badge keys.
一定不能包含alert须肆,sound 和 badge

當用戶設(shè)備收到silent push后匿乃,它會在后臺調(diào)起app并運行30秒,調(diào)用的delegate:

application:didReceiveRemoteNotifiacation:fetchCompletionHandler:

與收到普通remote push notification后豌汇,在通知中心(或橫幅)點消息后幢炸,調(diào)起APP,系統(tǒng)調(diào)用的delegate一致拒贱。

但是開啟silent push宛徊,必須給APP設(shè)置相應(yīng)的capability:

在Xcode中,工程Targets->Capabilities->Background Modes 設(shè)置為ON逻澳,并且勾選 Remote notifications

但是需要注意的一點闸天,在guide中也被標記為IMPORTANT,silent push不是用來保持APP在后臺awake的斜做,也不具有高優(yōu)先級苞氮。APNs把silent push視為低優(yōu)先級,并且如果消息總數(shù)過多陨享,可能會限制其傳送葱淳。實際的限制是動態(tài)且根據(jù)具體情況變化的,但是請不要在一小時內(nèi)傳送過多的數(shù)據(jù)抛姑。

但是赞厕,更重要的一點是,APP收到silent push后定硝,調(diào)用delegate的前提條件是APP沒有沒殺死皿桑,比如:用戶手動劃走,被系統(tǒng)回收或者手機重啟蔬啡。在這3種情況下诲侮,silent push并不能喚醒APP并執(zhí)行一段代碼。

蘋果官方guide:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/index.html#//apple_ref/doc/uid/TP40008194-CH3-SW1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末箱蟆,一起剝皮案震驚了整個濱河市沟绪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌空猜,老刑警劉巖绽慈,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異辈毯,居然都是意外死亡坝疼,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門谆沃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钝凶,“玉大人,你說我怎么就攤上這事唁影「荩” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵据沈,是天一觀的道長啃炸。 經(jīng)常有香客問我,道長卓舵,這世上最難降的妖魔是什么南用? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮掏湾,結(jié)果婚禮上裹虫,老公的妹妹穿的比我還像新娘。我一直安慰自己融击,他們只是感情好筑公,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著尊浪,像睡著了一般匣屡。 火紅的嫁衣襯著肌膚如雪封救。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天捣作,我揣著相機與錄音誉结,去河邊找鬼。 笑死券躁,一個胖子當著我的面吹牛惩坑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播也拜,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼以舒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了慢哈?” 一聲冷哼從身側(cè)響起蔓钟,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎卵贱,沒想到半個月后奋刽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡艰赞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年佣谐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片方妖。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡狭魂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出党觅,到底是詐尸還是另有隱情雌澄,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布杯瞻,位于F島的核電站镐牺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏魁莉。R本人自食惡果不足惜睬涧,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望旗唁。 院中可真熱鬧畦浓,春花似錦、人聲如沸检疫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屎媳。三九已至夺溢,卻和暖如春论巍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背风响。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工嘉汰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钞诡。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像湃崩,于是被迫代替她去往敵國和親荧降。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

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

  • 極光推送: 1.JPush當前版本是1.8.2攒读,其SDK的開發(fā)除了正常的功能完善和擴展外也緊隨蘋果官方的步伐朵诫,SD...
    Isspace閱讀 6,701評論 10 16
  • 關(guān)于推送 關(guān)于蘋果的推送網(wǎng)上已經(jīng)有非常多的資源講解,我在這里就不再累贅薄扁。直接切入主題剪返,講講如何模擬推送以及處理推送...
    SuperDanny閱讀 7,431評論 1 16
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)邓梅,斷路器脱盲,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 今天看了一篇有關(guān)iOS消息推送的文章 原文 開發(fā)環(huán)境:** Xcode 8.3Swift 3.1 ** 隨著iOS...
    阿朱先生閱讀 8,044評論 3 2
  • 人有些時候總是不愿意承認發(fā)生在自己身上的事情,于是有了一個所謂的”朋友“日缨。 我有一個朋友钱反,在大三那年,有一天她突然...
    樂閱讀書閱讀 219評論 0 0