3

我正在创建一个严重依赖用户与通知交互的 iOS 应用程序。当用户与通知交互时,他们自己和他们的关注者将立即收到通知。

为此,我决定使用 Firebase Cloud Messaging,因为我已经在使用其他 Firebase 服务。

我的应用服务器是使用 Node.js 和node-xmpp-server用 TypeScript 编写的。根据文档,没有 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侦听来自 FCM 的所有传入节。

我有很多问题无法在 Firebase 文档中找到。

  1. 同步节会进入我的服务器吗?还是 Firebase 会确保一次只发送和处理一个?
  2. 如果同时出现的节出现,会发生什么?有些人会迷路吗?
  3. 我是否需要重组我的服务器来处理同时的节?如果是这样,当我对 FCM 所能做的就是听节时,我该怎么做呢?

谢谢!

4

1 回答 1

1
  1. 您将收到同步的节
  2. 你应该处理它们并确认它们
  3. 是的。您需要使用多线程,例如 1 个线程正在接收消息,而另一个(或多个)线程正在处理它们并将 ACK 排队。如何做到这一点取决于您的图书馆/语言。
于 2017-02-16T08:17:48.063 回答