我有两个客户端,我正在寻找一种方法来发送按钮单击一个客户端并监听另一个客户端的声音。
可以使用 Cloud Firestore 的
onSnapshot()
检测数据更改。但是,这与我正在寻找的有点不同。我要求的是发送可以识别多个按钮的内容(例如按钮 A 和按钮 B)。
Cloud Firestore 以文档为单位发送数据,因此需要庞大的“用户数 * 按钮数”。
有没有办法监听按钮等不太复杂的数据?
我正在寻找一种方法来在一个客户端上发送按钮点击并在另一个客户端上监听。
如果您有两个客户端,都有一个按钮,并且您想跟踪每个客户端何时单击其按钮,那么您必须在这两个客户端之间创建连接。因此,请参阅下面 Firestore 中可能的数据库架构:
db
|
--- connections (collection)
|
--- docId (document)
|
--- userOneEmail: [email protected]
|
--- userTwoEmail: [email protected]
|
--- userOneButtonClick: false
|
--- userTwoButtonClick: false
在上面的模式中,
userOneButtonClick
和userTwoButtonClick
都保存false
的值。这意味着没有客户端单击该按钮。一旦其中一个客户端单击按钮,您就必须将客户端的值从 false
更改为 true
。要查找具有特定连接的文档,您必须创建一个如下所示的查询:
db.collection("connections").whereEqualTo("userOneEmail", [email protected])
.whereEqualTo("userTwoEmail", [email protected])
现在您必须将实时监听器附加到上述查询并跟踪
userOneButtonClick
和userTwoButtonClick
的值。