首页 > 解决方案 > Fcm的MulticastMessage有500条的限制,如果我想一次发送超过500条怎么办?

问题描述

服务端收到List accountId后,会创建并发送对应的tokenList,但是Fcm的MulticastMessage有500个限制,如果我想一次性发送超过500个怎么办?

FcmController.java

    List<String> registrationTokens = fcmService.getTokenList(accountIdList);

    MulticastMessage message = MulticastMessage.builder()
            .putData("title", title)
            .putData("content", msg)
            .addAllTokens(registrationTokens)
            .build();

    BatchResponse response = FirebaseMessaging.getInstance().sendMulticast(message);

FcmService.java

 public List<String> getTokenList(List<Long> accountIdList) {
        List<String> tokenList = new ArrayList<>();
        for (Long accountId:accountIdList) {
            String token = fcmRepository.findById(accountId).get().getToken();
            tokenList.add(token);
        }
        return tokenList;
    }

标签: firebasespring-bootjpaspring-data-jpafirebase-cloud-messaging

解决方案


推荐阅读