Firebase 可以处理数据并将结果推送到移动设备,而不仅仅是推送原始结果



Firebase可以在不同的移动设备之间同步数据以进行实时应用。我是否可以使用 Firebase 对这些数据执行任何服务器端操作,并且仅将这些操作的结果推送到感兴趣的设备,而不是原始数据?

就像移动设备上的数字从 10 更改为 100

一样,服务器只需推送一个表示更大的标志,而不是将新数字 100 推送到其他设备。

Firebase 本身并不为您提供在其服务器上运行数据操作代码的方法。

在最简单的情况下,您可以简单地让客户端计算这些派生值,使用transaction以防出现跨客户端影响(如示例所示(。

您还可以设置自己的服务器来监控您的 Firebase 数据(可能通过您用于客户端的相同 API(,计算这些派生值并将其写回 Firebase。然后,实际的移动设备将只监视派生的值。然后,此服务器应在提升/受信任的帐户(已知名称(下运行,或者使用您可以在 Firebase 仪表板/伪造工具中找到的密钥。

您甚至可以像客户一样做同样的事情。因此,只需在自己控制而其他人无法访问的机器上运行一个网页即可。但是您最好为此设置一个单独的(例如node.js(服务器。

要意识到的最重要的事情是,您不需要托管/数据中心的真实服务器来满足需求。Firebase 对防火墙友好,与许多其他服务不同,您无需提供可公开访问的回传网址,以便它们调用您。因此,您可以在家中运行应用程序的"服务器"部分(取决于机器的可靠性,互联网连接以及应用程序派生数据的最新要求(。