我已经有一个应用程序,我想开始向用户发送通知。我已经在应用程序中设置了所有内容(使用 react native(,并手动检查是否可以向设备发送通知并且它可以工作。 现在,我想在服务器中运行一个作业,该作业会将消息(带有设备令牌(推送到 Firebase 中的云消息传递。 我找不到很多关于如何做到这一点的细节。我希望有人能给我任何可以使用的指南。我的服务器在 Kotlin 中(java 也可以很好(,我正在使用 gradle。
非常感谢您的帮助
在 Java 服务器上,您可以使用 Firebase Admin SDK 发送消息。从该文档中得出了这个最小示例:
// This registration token comes from the client FCM SDKs.
String registrationToken = "YOUR_REGISTRATION_TOKEN";
// See documentation on defining a message payload.
Message message = Message.builder()
.putData("score", "850")
.putData("time", "2:45")
.setToken(registrationToken)
.build();
// Send a message to the device corresponding to the provided
// registration token.
String response = FirebaseMessaging.getInstance().send(message);
// Response is a message ID string.
System.out.println("Successfully sent message: " + response);
请注意,这会发送一条数据消息,以便始终将其传递到您的代码中,您可以在其中决定是否显示通知。要发送通知消息(Firebase 控制台的作用(,您需要执行以下操作:
Message message = Message.builder()
.setNotification(new Notification("This is the title", "This is the body"))
.setToken(registrationToken)
.build();
这两者都将消息发送到特定的注册令牌,因此仅发送到单个设备/应用实例。这意味着您需要维护这些令牌的列表,以便您发送消息以满足您的需求。例如,一种常见的方法是存储每个用户的令牌。有关这方面的示例,请参阅函数示例存储库。虽然此示例位于 Node.js 中,但相同的逻辑可以应用于 Java 服务器。
最后:您还可以向主题发送消息。有关这方面的示例(再次:使用 Node.js 服务器(,请查看这篇博客文章使用 Firebase 数据库和云消息在 Android 设备之间发送通知。