如何在数据库中发生时间事件时发送 FCM?

How to send a FCM when a time event occurs in the database?

我确信当记录添加到数据库或发生其他一些数据库事件时,我可以发送 Firebase 云消息。我的问题是,如果我有一条记录需要在特定时间向特定的一组设备发送通知,我是否能够轻松做到这一点?这是我可以在 Google App Engine 上做的事情吗?

示例:

我有一个包含不同时间值的记录列表。当该记录的时间值等于服务器机器的时间值时,发送消息。

这里没有隐藏的魔法。您必须编写代码来侦听数据库中的更改,然后调用 Firebase 云消息传递。

ref.on('child_added', function(snapshot) {
  request({
     url: 'https://fcm.googleapis.com/fcm/send',
     method: 'POST',
     headers: {
       'Content-Type' :' application/json',
       'Authorization': 'key=AI...8o' 
     },
     body: JSON.stringify(
       { data: {
           message: "your message"
         },
         to : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
       }
     )
   }, function(error, response, body) {
     if (error) { 
       console.error(error); 
     }
     else if (response.statusCode >= 400) { 
       console.error('HTTP Error: '+response.statusCode+' - '+response.statusMessage); 
     }
     else {
       console.log('Message sent');
     }
   });      
})

上面 JavaScript 的代码片段会 运行 在代码中并调用 Firebase Cloud Messaging HTTP endpoint to send a message

另见: