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-阿里云