相关疑难解决方法(0)

Firebase 云设备到设备推送通知设备令牌与主题

我刚刚第一次使用 firebase 功能推送通知。我正在监视以下更改:

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

后来,我使用:

const userQuery = admin.database().ref(`users/${from_user_id}/username`).once('value');
const deviceToken = admin.database().ref(`/users/${user_id}/device_token`).once('value');
Run Code Online (Sandbox Code Playgroud)

检索发件人的 userUID 和设备令牌,稍后与 sendToDevice()

这很好用,是我在任何地方都看到推荐的方法,但我想知道为什么要在用户到用户场景中使用主题来执行此操作。

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

对于主题,当用户首次加载应用程序时,您可以为用户订阅“chat_notifications_usersIUID”之类的主题。这不需要获取设备令牌并完成使用承诺的过程,并大大简化了向特定用户发送通知的过程,只需推送到特定于接收者 UID 的特定主题即可。

当从用户向用户发送推送通知时,使用主题而不是 firebase 函数观察是否有任何缺点。

ios firebase google-cloud-functions firebase-cloud-messaging

1
推荐指数
1
解决办法
281
查看次数