将云功能与实时数据库一起使用来发送通知的问题

时间:2019-02-09 17:55:27

标签: android firebase firebase-realtime-database notifications google-cloud-functions

我已经在使用通知密钥发送通知了,我知道不能为主题订阅通知密钥,但是我们需要用户可以在多个设备上登录相同的帐户。因此,我决定将通知密钥保存在实时数据库中。

enter image description here 当用户向聊天室发送消息然后触发云功能并一次读取数据(group_chatroom_notification_keys / chatroom_id_1)以获取所有user_notification_key_n并将通知发送给每个用户时,我的应用程序是如何工作的。问题是发送每条消息都需要再次读取聊天室的所有通知键。这样就增加了实时数据库的下载量。我现在每月向Google支付收入的35%。

我也对此doc感到困惑:

  

“为了快速,安全地传递到单个设备或一小组设备,请将消息定向到注册令牌,而不是主题。”

什么是安全交付?如果我使用chatroom_id作为主题,并为所有聊天室用户令牌订阅主题以降低成本。那么聊天室的通知数据会被其他设备窃取吗?因为所有聊天室都应该是私人的,我不知道如何正确降低费用。

有人有更好的方法吗?这是必要的费用吗?

1 个答案:

答案 0 :(得分:1)

您不应该一次又一次地读取按键。我也建立了私人聊天室应用程序。我的使用方式是:

当用户打开聊天室时,我只加载一次所有用户密钥。现在,无论我发送消息多少次,我都会将所有已加载的密钥传递给Cloud函数和CF火灾通知。希望对您有所帮助,并为您节省一些数据使用量。