使用Firebase / Batch将通知推送到特定登录用户

时间:2016-07-11 06:02:40

标签: android firebase push-notification firebase-cloud-messaging firebase-notifications

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

如果您使用控制台,则可以将令牌放在" FCM注册令牌上#34;目标下的字段 - >单个设备。

如果您使用发布请求,则可以提出此类请求

{
    "data": {"my_custom_key" : "my_custom_value"},
    "registration_ids": ["your-device-token","your-device2-token"]
}

答案 1 :(得分:0)

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

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

如果您使用的是Firebase,我们会向plug Firebase with Batch提供具体的文档。