我正在创建一个iOS应用,该应用在很大程度上依赖于通知的用户交互。当用户与通知交互时,将立即通知自己和关注者。
为此,我决定使用Firebase Cloud Messaging,因为我已经在使用其他Firebase服务。
我的应用服务器使用node.js和node-xmpp-server编写。根据文档,没有FCM Java SDK,因此Node.js是逻辑的选择。
运行我的服务器时,它会创建一个Client
并从FCM聆听来源节。类似的东西:
var Client = require('node-xmpp-client')
var client = new Client({
jid: 'user@example.com',
password: 'password'
})
client.on('online', function() {
console.log('online')
})
client.on('stanza', function(stanza) {
console.log('Incoming stanza: ', stanza.toString())
})
对于整个服务器,只有一个Client
来听所有传入的stanzas Form fcm。
我有很多问题,以至于我无法在Firebase文档中找到。
- 同时发生会进入我的服务器吗?还是Firebase确保一次仅发送和处理一个?
- 如果同时进行节,会发生什么?有些会迷路吗?
- 我是否需要重组我的服务器来处理同时的节?如果是这样,当我可以用FCM做的就是听节点时,我该怎么做?
谢谢!
- 您将同时收到Stanzas
- 您应该对其进行处理并ack
- 是的。您需要使用多线程,例如1个线程正在接收消息,另一个线程(或一个以上)正在处理并启动ACK。如何做到这取决于您的图书馆/语言。