Мое требование состоит в том, что я создаю проект новостного портала, где я хочу отправлять последние добавленные новости всем имеющимся у меня токенам. Проблема, с которой я столкнулся, заключается в том, что я не могу использовать функцию sendMulticast в базе Fire, я могу отправить уведомление для одного токена с содержимым. Но когда я пытаюсь отправить уведомление для нескольких токенов, возникают проблемы. Я использовал необходимые зависимости, такие как гуава, администратор Firebase и все такое. Я взял код из самой консоли Firebase.
Я получил следующую ошибку:
Ошибка отправки уведомлений: неожиданная HTTP-ответ со статусом: 404
404. Это ошибка.
Запрошенный URL-адрес /batch не был найден на этом сервере. Это все, что нам известно.
Ниже приведен код:
public class FireBaseMessagingService {
private static final Logger log = LoggerFactory.getLogger(FireBaseMessagingService.class);
@Autowired
FirebaseMessaging firebaseMessaging;
public String sendNotifications(NotificationMessagingFCM notifications) {
String title = notifications.getTitle();
String body = notifications.getBody();
String image = notifications.getImage();
List recipientTokens = notifications.getRecipientToken();
Notification notification = Notification.builder().setTitle(title).setBody(body).setImage(image).build();
int batchSize = 500;
int totalSuccess = 0;
int totalFailure = 0;
for (int i = 0; i < recipientTokens.size(); i += batchSize) {
List batchTokens = recipientTokens.subList(i, Math.min(i + batchSize, recipientTokens.size()));
MulticastMessage message = MulticastMessage.builder()
.addAllTokens(batchTokens)
.setNotification(notification)
.build();
try {
BatchResponse response = firebaseMessaging.sendMulticast(message);
totalSuccess += response.getSuccessCount();
totalFailure += response.getFailureCount();
if (response.getFailureCount() > 0) {
List failures = response.getResponses();
for (int j = 0; j < failures.size(); j++) {
if (!failures.get(j).isSuccessful()) {
log.error("Failed to send notification to token: " + batchTokens.get(j) + " - "
+ failures.get(j).getException());
}
}
}
} catch (FirebaseMessagingException e) {
log.error("Error sending notifications: " + e.getMessage(), e);
return "Error Sending Notifications: " + e.getMessage();
}
}
return "Success: " + totalSuccess + " messages were sent, Failures: " + totalFailure;
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... pring-boot
Столкновение с трудностями в многоадресном push-уведомлении при загрузке Java Spring ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Столкновение с трудностями в многоадресном push-уведомлении при загрузке Java Spring
Anonymous » » в форуме JAVA - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как я могу представить конкретное представление в push-уведомлении при получении ответа?
Anonymous » » в форуме IOS - 0 Ответы
- 40 Просмотры
-
Последнее сообщение Anonymous
-