1

我正在构建一个应用程序,允许用户创建事件并将人员添加到这些事件中。它将事件和某些用户数据(电子邮件和显示名称)存储在 Firebase 数据库中。

我要做的是在另一个用户将特定用户添加到事件时向特定用户发送通知。我已经尝试查看 Firebase Notifications/Cloud Messaging 和 Batch 的文档,但我找不到将通知发送给单个用户而不是整个组的方法。

我该怎么做呢?我希望避免将通知存储在 Firebase 数据库中并设置一个 servlet 后端来重复查询数据库。

编辑:如果我必须为此制作一个 Java Servlet 后端,有人可以告诉我如何编码吗?

4

2 回答 2

3

我认为您可以通过在使用控制台发送通知或使用发布请求到 FCM 服务器时指定设备令牌来做到这一点。但不幸的是,您必须自己手动处理每个设备令牌(当设备注册到 FCM 时从设备获取它,并将其保存到您自己的数据库中)。

如果您使用控制台,您可以将令牌放在目标 -> 单个设备下的“FCM 注册令牌”字段中。

如果您使用发布请求,您可以发出这样的请求

{
    "data": {"my_custom_key" : "my_custom_value"},
    "registration_ids": ["your-device-token","your-device2-token"]
}
于 2016-07-11T07:24:26.147 回答
0

Batch.com 提供了一个更简单的 API,名为Transactional API,用于向一个或多个由用户 ID、Firebase UID 等标识的用户发送通知,因为您可能不想自己处理 APNS 推送令牌或 GCM 注册 ID 的复杂性. 与 FCM 不同,您将获得有关这些通知的完整分析视图(例如:打开率)。

您可以直接从您的应用程序代码触发推送通知,方法是使用我们的事务 API Swift 客户端或编写您自己的 HTTP 客户端(这是一个带有 JSON 正文的标准 POST 请求)。如果您决定从服务器触发通知,我们甚至有一个Node.js客户端。

如果您使用的是 Firebase,我们有一个特定的文档可以用 Batch 插入 Firebase

于 2016-07-14T17:48:27.040 回答