反正还有保存推送通知吗?

问题描述 投票:2回答:1

[当用户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.")
        }
    }

}
ios swift parse-platform push-notification
1个回答
6
投票

[您可能应该反过来做,创建一个表,在其中保存新的“ MeetingInvites”,并且每当添加新条目时,就会向相应的用户发送推送通知。

使推送通知成为实际新条目的副作用。不要使输入成为推送通知的副作用。

这还为您节省了处理丢失的通知的麻烦-也许接收用户打开了应用程序,然后something崩溃了,并且您的推送通知和所有连接的数据都将丢失。

一点点细节:为位置创建一列,为“请求”用户创建一列,为“合作伙伴”创建一列。在您的代码中,将currentUser设置为发出请求的用户,并将partner设置为... well ... partner。然后在客户端设备或服务器上创建推送消息。在两种情况下,都将推送消息发送给“合作伙伴”。

© www.soinside.com 2019 - 2024. All rights reserved.