我希望在用户界面上显示之前在我的客户端设备上自定义远程通知。特别是,我想编辑标题和正文,以便在每次通知到达时显示在LockScreen,Banners和NotificationCenter上,它们显示为banner.I don& #39; t想要设置服务器通知标题和正文。我只想在客户端设备显示之前设置自定义。
有什么办法吗?
任何指南?
答案 0 :(得分:4)
{
"aps" : {
"alert" : "",
"content-available" : 1
},
"action" : "update",
"extraData" : {
"updateType" : 2,
"updateMessage" : "New version available 1.1.2"
}
}
aps
字典必须包含值为content-available
的密钥1
,因此,只要您的设备收到具有此密钥和值的远程通知,就会将其视为无提示通知。
密钥alert
的值必须为空字符串""
。否则iOS系统会显示该通知。
每当iOS操作系统收到静音通知时,它都会触发application:didReceiveRemoteNotification:fetchCompletionHandler:
类的AppDelegate
方法。在此方法中,您可以通过userInfo
参数获取通知的有效负载。
在上述有效负载中,action
和extraData
是我的自定义数据。在此基础上,您可以处理收到的通知。在上面我将通过附加另一个字符串来更改基于字符串updateMessage
的通知文本。更改字符串后,您可以安排本地通知:这样您就可以更改收到的远程通知的文本。
您必须为background mode
启用remote notifications
。