java - 是否可以使用 Firebase Admin SDK 将消息发送到 FCM 客户端的一批 token ?

标签 java spring firebase firebase-cloud-messaging firebase-admin

我想使用 token 向一批设备发送消息,因为我有不同的接收器组,这些接收器组非常动态且可以更改。我在后端 Spring Boot 服务器上定义了组,并且 Message.Builder 只有一个“setToken”方法。这是否意味着我必须循环所有 token 才能发送消息?

引用:https://firebase.google.com/docs/reference/admin/java/reference/com/google/firebase/messaging/Message.Builder.html

最佳答案

sending messages to multiple devices 的文档建议您需要使用MulticastMessage为此。

// Create a list containing up to 100 registration tokens.
// These registration tokens come from the client FCM SDKs.
List<String> registrationTokens = Arrays.asList(
    "YOUR_REGISTRATION_TOKEN_1",
    // ...
    "YOUR_REGISTRATION_TOKEN_n"
);

MulticastMessage message = MulticastMessage.builder()
    .putData("score", "850")
    .putData("time", "2:45")
    .addAllTokens(registrationTokens)
    .build();
BatchResponse response = FirebaseMessaging.getInstance().sendMulticast(message);
// See the BatchResponse reference documentation
// for the contents of response.
System.out.println(response.getSuccessCount() + " messages were sent successfully");

关于java - 是否可以使用 Firebase Admin SDK 将消息发送到 FCM 客户端的一批 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60131380/

相关文章:

java - Lombok + QueryDsl + Mapstruct : error compiling: java. lang.NoClassDefFoundError : javax/persistence/Entity: javax. persistence.Entity

java.lang.ClassCastException 适配器转换为 Activity

java - 如何删除没有 SQL 的所有行

java - WebLogic:URL 映射不起作用

java - 在名称为 'java4s' 的 DispatcherServlet 中找不到具有 URI [/LoginApp/] 的 HTTP 请求的映射

java - 如何根据用户属性创建 Spring session 范围的 bean

spring - 在我的 Spring Hibernate 应用程序中获取 java.lang.NoSuchMethodError : org. objectweb.asm.ClassWriter.<init>(Z)V

typescript - "Cannot find name ' ServiceWorkerRegistration 使用Typescript创建firebase云函数时出现'"错误

rest - 在没有后端的情况下将 Firebase 'idToken' 转换为 'access token'?

javascript - 更改日期调用一次功能