gpt4 book ai didi

ios - Firebase云设备到设备推送通知设备 token 与主题

转载 作者:行者123 更新时间:2023-12-01 17:46:47 25 4
gpt4 key购买 nike

我刚得到了Firebase函数推送通知,这是第一次工作。
我正在使用监视更改:

exports.observeNotifications = functions.database.ref('/notifications/{user_id}/{notification_id}').onWrite((change, context) => {

后来,我使用:
const userQuery = admin.database().ref(`users/${from_user_id}/username`).once('value');
const deviceToken = admin.database().ref(`/users/${user_id}/device_token`).once('value');

检索发送者的userUID和设备 token ,该 token 随后与 sendToDevice()一起使用

这很好用,是我在各处推荐的方法,但是我想知道为什么要这样做而不是在用户到用户方案中使用主题。

在聊天应用程序的示例中,每次发送聊天时,都会将一个值发送到 notifications/users/{uid} ...并触发事件。然后必须进行值调用,必须完成 promise 处理,然后可以配置和发送推送有效负载。

使用主题时,当用户首次在第一时间加载应用程序时,可以为该用户订阅一个主题,例如“chat_notifications_usersIUID”。这样就无需获取设备 token 并经历使用 promise 的过程,并且大大简化了将通知发送给特定用户的过程,简化为仅推送到特定于收件人UID的特定主题。

在每个用户之间发送推送通知时,在Firebase功能上使用主题有任何不利之处。

最佳答案

主题可以公开访问。因此,即使您为每个用户创建一个主题,所有用户都可以订阅每个主题。

因此,如果消息被认为是公开的,则仅应以这种方式使用主题。例如。在 public 聊天室中,这可能会很好,因为每个人都已经可以在 public 聊天室中看到消息了。但是通过主题发送 private 消息意味着其他用户在为用户了解主题时可以拦截它们。

如果您的消息不打算公开,则需要发送给各个 token 。您只应在极端情况下达到速率限制。如果您遇到这种情况,请reach out to Firebase support提供个性化帮助以进行故障排除

关于ios - Firebase云设备到设备推送通知设备 token 与主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50925465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com