我正在使用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"
}
}
}
}