119
阿裏雲
iOS靜默通知__iOS SDK手冊_App SDK 手冊_移動推送-阿裏雲
iOS靜默通知
iOS Silent Notification(靜默通知),屬於特殊的遠程推送通知,其目的不是為了彈出通知框提醒用戶,而是用於後台運行的App和服務端同步數據。例:App在後台放置一段時間,網絡已不再活躍,App內數據可能已經過時;服務端可推送一條攜帶參數的靜默通知,處於後台的App可以觸發靜默通知回調,在後台運行狀態下獲取對應參數並發起網絡請求,獲取最新數據更新,整個過程用戶無感知。
靜默通知限製和注意事項:
- 靜默通知主要用於更新和同步數據,用戶對其無感知,因此靜默通知一般
不設置
通知內容、聲音和角標; - 靜默通知喚醒後台App並執行下載任務時,最多有
30秒
時間執行; - App處於前台/後台時均可觸發對應通知回調,App關閉後不能觸發;
- 靜默通知請求在APNs屬於低優先級任務,蘋果不保證靜默通知的到達率;
- 不要利用靜默通知對App進行保活,APNs若檢測到較高頻率的靜默通知發送請求,可能會終止其發送(具體策略蘋果未公開)。
服務端配置
靜默通知一般不設置推送內容、聲音和角標,發送到APNs的payload
格式如下,其中需要設定content-available
為1
,標記為靜默通知。
{
"aps": {
"content-available" : 1
},
"key1" : "value1",
"key2" : "value2"
}
移動推送服務端發送靜默通知,需要基於OpenAPI 2.0的推送高級接口
:
- 接口描述參考OpenAPI 2.0 - API列表 - 推送高級接口;
iOSSilentNotification
設置為True
時,表示使能靜默通知;- 若通知內容字段
Body
為空串""
,推送時忽略通知內容
、聲音
和角標
設置,推送一條用戶無感知的靜默通知;(建議使用方式
) - 若通知內容字段
Body
為非空串,通知內容
、聲音
和角標
都需要用戶自行配置,用戶可感知到該條靜默通知。(不建議使用
)
- 若通知內容字段
客戶端適配
靜默通知回調處理:
- 處理邏輯和普通通知回調一致;
- < iOS 10,觸發
didReceiveRemoteNotification
回調,參考iOS API介紹的2.3 通知打開監聽 - <iOS 10
; - >= iOS 10,App位於前台觸發
willPresentNotification
回調,App位於後台觸發didReceiveNotificationResponse
回調,參考iOS API介紹的2.3 通知打開監聽 - iOS 10+
;
App若需要在後台處理靜默通知,Xcode工程做以下修改:
- Xcode中選中App對應Project,並選中對應iOS App Target;
- 打開
Capabilities Tab
,使能Background Modes
,並勾選Remote notifications
。
最後更新:2016-12-20 21:19:29
上一篇:
iOS API介紹__iOS SDK手冊_App SDK 手冊_移動推送-阿裏雲
下一篇:
iOS10通知適配__iOS SDK手冊_App SDK 手冊_移動推送-阿裏雲
工作流設計器__數據開發手冊_用戶操作指南_大數據開發套件-阿裏雲
編輯賬號信息__賬號管理類 API_Open API 參考_企業級分布式應用服務 EDAS-阿裏雲
AssumedRoleUser__數據類型_STS API文檔_訪問控製-阿裏雲
推薦碼返利規則___推薦碼_代金券及推薦碼_財務-阿裏雲
雲服務器 ECS > 磁盤 > 更換係統盤
設備狀態回調通知__服務器端API_阿裏雲物聯網套件-阿裏雲
用戶__身份管理_指南_訪問控製-阿裏雲
接入狀態檢測異常__排錯手冊_Web 應用防火牆-阿裏雲
雲服務器 ECS Linux SSH 連接交互過程簡介__遠程登錄 (SSH)_Linux操作運維問題_雲服務器 ECS-阿裏雲
2016-05-13__Release-Notes_日誌服務-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲