我如何知道iOS中是否提供推送通知?

时间:2016-09-21 09:57:26

标签: ios objective-c push-notification apple-push-notifications firebase-cloud-messaging

我正在使用FCM(Firebase云消息传递)来接收推送通知。

一切都对我有用。

但是从我的服务器端,他们会在一段时间内连续向我的应用发送通知。

现在我必须只通知一次从服务器获取的时间到达当前时间。

在当前时间之前和当前时间之后不应显示通知。

我不知道该怎么做。

任何人都可以解释是否有办法解决这个问题。

2 个答案:

答案 0 :(得分:1)

您可以通过在服务器上实施cron作业来自定义通知到达时间表。

如果您使用任何API将通知推送到任何设备,只需在致电后获取成功消息或已发送消息。

答案 1 :(得分:1)

我在PHP服务器上创建了一个端点,该端点在我的实时数据库中引用了一个引用notifications/$autoId的autoId。通知的发件人将通知数据写入数据库,如果成功,则向http://myserver.com/notifications/$autoId/send发送POST请求。

这似乎没有身份验证,但是没有人会知道通知ID是从创建它的用户和接收它的用户发送的。在服务器端,当消息使用FCM成功发送时,我们可以设置{"sent": true}以防止它被多次发送。当用户收到通知时,我们设置{"received": true}

{
    "notifications": {
        "$autoId": {
            "sent": false,
            "received": "false",
            "userInfo": {
                "notificationId": "$autoId",
                "toId": "$toUid",
                "fromId": "$fromUid"
            }
        }
    }
}