我怎么知道推送通知是否在iOS中传递



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

一切都很顺利。

但是从我的服务器端,他们会不断地向我的应用程序发送通知,时间作为主体,直到一段时间。

现在我只需要推送一次通知,当我从服务器获得的时间达到当前时间时。

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

我不知道该怎么做。

有谁能解释一下这是怎么回事吗

您可以通过在服务器上实现cron作业来自定义通知到达计划。

如果您使用任何API向任何设备推送通知,只需在呼叫后获得成功消息或交付消息。

我在PHP服务器上创建了一个端点,该端点使用autoId引用我的实时数据库中的notifications/$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"
            }
        }
    }
}

最新更新