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

时间:2016-05-26 12:32:58

标签: firebase firebase-realtime-database firebase-cloud-messaging

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

示例:

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

1 个答案:

答案 0 :(得分:3)

这里没有隐藏的魔法。您必须编写用于侦听数据库中的更改的代码,然后调用Firebase Cloud Messaging。

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

另见: