1

我有这个应用程序,并且我已启用推送通知。我可以通过Firebase控制台发送通知,但我真正想做的事情是,在应用上采取操作时,能够向特定用户发送通知。我试图关注Firebase文档,但对这个文档,似乎真的很差..使用Firebase和Swift推送通知

它会告诉你用这个方法:

FIRMessaging.messaging().sendMessage(message: ([NSObject : AnyObject]), to: (String), withMessageID: (String), timeToLive: (Int64)) 

但我真的不能找出把什么作为参数,并且如前所述,文档并没有太大的帮助.. 有没有人尝试过使用这种方法,如果是的话,它是如何完成的?感谢任何帮助,谢谢!

+0

将消息发送到设备,您需要指定所谓的服务器令牌。顾名思义,这个令牌只能用在你控制的服务器上(或者在另一个安全的环境中)。出于这个原因,发送设备到设备消息当前只能通过运行自定义应用服务器来实现。请参阅http://stackoverflow.com/questions/37634046/is-it-possible-to-send-pushnotifications-using-firebase-cloud-messaging-fcm-t –

+0

如何将答案应用于我自己的问题?我发现必须使用HTTP post-requests才能完成对Firebase提供的网络服务器的处理。因此,下面的答案是错误的。可以将设备的通知发送到其他设备,只需通过一个网络服务器,就像这样:设备发出POST请求 - > firebase webserver转发 - > Apple APNS - >接收设备..这就是它是如何完成的。 –

+0

这是由本答案和问题I的答案链接。随意提供你自己的答案关于该链接的问题。 –

回答

3

据我所知,无法触发从具有Firebase的设备发送推送通知。您需要的是一项单独的服务(在不同的服务器上运行),它具有访问由Firebase管理的设备令牌的必要权限,并向特定设备发送推送通知。所有这些都需要运行在你的Nosql的firebase数据库上。 您可以将推送通知请求存储在数据库中,并让推送通知服务监听该路径。如果有来自设备的请求触发发送通知并从数据库中删除请求。

你可以使用一个应用程序的NodeJS与此包:https://www.npmjs.com/package/fcm-node

+0

现在是可能的。请参阅:https://stackoverflow.com/a/47106374/144088 – Crashalot