我们可以使用 Firebase 向独立用户发送自定义推送通知吗?

Posted

技术标签:

【中文标题】我们可以使用 Firebase 向独立用户发送自定义推送通知吗?【英文标题】:Can we send custom push notifications to independent users using Firebase? 【发布时间】:2017-10-24 03:41:18 【问题描述】:

我计划使用 Google Firebase 在我的 Angular 4 网络应用中实现通知。我的应用程序中的每个用户都有自己的一组通知。我已经看到 Firebase 可以将消息广播给用户组或主题的订阅者。但是,有没有办法向独立用户发送自定义通知?如果我必须使用 Pub-Sub 模式,是否为每个用户 ID 创建一个主题并将通知推送到这些主题是正确的方法?

提前致谢。

【问题讨论】:

您是从后端以编程方式发送消息,还是使用 Firebase 控制台中的通知编辑器? 我计划在数据库中记录事件,并根据该事件,应以编程方式通过一些自定义消息通知受该事件影响的用户。 【参考方案1】:

当您在应用(Web、androidios)中使用 Firebase 云消息传递时,它会获得一个唯一的实例 ID(通常也称为设备注册令牌)。此实例 ID 可用于唯一标识该特定设备上的特定应用。

如果您想向特定设备上的特定应用发送消息,可以向实例 ID 发送消息,如 here 所示。

如果用户在多台设备上使用同一个应用,并且您想在所有设备上向用户发送消息,您通常会将实例 ID 组合到一个所谓的设备组中,如 here 所示。

最后,如果您想向已订阅特定主题的一组用户发送消息,您可以将消息发送到该 pub/sub 主题,如 here 所示。

根据您的描述,听起来您希望发送到实例 ID 或设备组。

【讨论】:

感谢您的回复。我的 Web 应用程序是一个门户,每个用户都有自己的帐户。例如,当我登录我的 Stack Overflow 帐户时,我在您回复我的问题时看到了一条通知。此通知是针对我的。我正在尝试使用 Firebase 来实现这样的目标。我计划在数据库中记录事件,并根据该事件,应通过一些自定义消息通知受该事件影响的用户。 所有听起来都是可行的。不久前我写了一篇博客文章,使用主题来完成针对用户的消息:firebase.googleblog.com/2016/08/… 太棒了!谢谢,有道理。我了解到这些通知不适合 IOS - 因为它们不支持服务人员。对于 IOS 设备,我们有任何替代方案吗?仅供参考 - 我不是在构建原生应用程序,它只是一个响应式 Web 应用程序。 我不知道 iOS 上的网络应用有任何推送通知技术。

以上是关于我们可以使用 Firebase 向独立用户发送自定义推送通知吗?的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Auth - 自定义声明的用户列表

Firebase 自定义声明不会传播

在 Firebase 中的某个时间向用户发送推送通知 [重复]

如何使用 Firebase Cloud Messaging 向所有用户发送数据负载?

使用 react-native-firebase 在 React Native 上自定义通知

Swift 从用户向用户发送推送通知 Firebase