当用户a向用户b发送推送通知时,用户b将收到通知,但是一旦他们点击该通知,该通知的有效负载就会消失.相反,当用户b打开通知时,通知中的有效负载将保存为解析,因此他可以查看发送给他的所有通知.这就像是通知历史.以下是我发送通知的代码.我需要有关如何在这些通知中保存有效负载的帮助,以便用户可以查看通知历史记录.
func pushNotifications(){ let userQuery: PFQuery = PFUser.query()! userQuery.whereKey("objectId", containedIn: Array(setOfSelectedFriends)) let pushQuery: PFQuery = PFInstallation.query()! pushQuery.whereKey("user", matchesQuery: userQuery) let push = PFPush() push.setQuery(pushQuery) push.setMessage("\(username!) wants you to meet them at \(location!)") push.sendPushInBackgroundWithBlock { success, error in if success { print("The push succeeded.") } else { print("The push failed.") } } }
luk2302.. 5
您可能应该以相反的方式执行此操作,创建一个用于保存新"MeetingInvites"的表,并且每当添加新条目时,都会向相应的用户发送推送通知.
使推送通知成为实际新条目的副作用.不使输入成为推送通知的副作用.
这将节省虽然你不必处理与迷失通知的麻烦-也许是接收用户打开应用程序,然后东西崩溃和您的推送通知和所有连接的数据将会丢失.
更多细节:为位置创建一列,为"请求"用户创建一列,为"伙伴"创建一列.在您的代码中,将currentUser设置为请求者,将伙伴设置为...... well ... partner.然后,在您的客户端设备或服务器上创建推送消息.在这两种情况下都将推送消息发送给"伙伴".
您可能应该以相反的方式执行此操作,创建一个用于保存新"MeetingInvites"的表,并且每当添加新条目时,都会向相应的用户发送推送通知.
使推送通知成为实际新条目的副作用.不使输入成为推送通知的副作用.
这将节省虽然你不必处理与迷失通知的麻烦-也许是接收用户打开应用程序,然后东西崩溃和您的推送通知和所有连接的数据将会丢失.
更多细节:为位置创建一列,为"请求"用户创建一列,为"伙伴"创建一列.在您的代码中,将currentUser设置为请求者,将伙伴设置为...... well ... partner.然后,在您的客户端设备或服务器上创建推送消息.在这两种情况下都将推送消息发送给"伙伴".