Мое требование состоит в том, что я создаю проект новостного портала, где я хочу отправлять последние добавленные новости всем имеющимся у меня токенам. Проблема, с которой я столкнулся, заключается в том, что я не могу использовать функцию 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
Программисты JAVA общаются здесь
1736746407
Anonymous
Мое требование состоит в том, что я создаю проект новостного портала, где я хочу отправлять последние добавленные новости всем имеющимся у меня токенам. Проблема, с которой я столкнулся, заключается в том, что я не могу использовать функцию sendMulticast в базе Fire, я могу отправить уведомление для одного токена с содержимым. Но когда я пытаюсь отправить уведомление для нескольких токенов, возникают проблемы. Я использовал необходимые зависимости, такие как гуава, администратор Firebase и все такое. Я взял код из самой консоли Firebase.
[b]Я получил следующую ошибку:[/b]
Ошибка отправки уведомлений: неожиданная HTTP-ответ со статусом: 404
[b]404.[/b] Это ошибка.
Запрошенный URL-адрес /batch не был найден на этом сервере. Это все, что нам известно.
[b]Ниже приведен код:[/b]
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;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79351248/facing-difficulty-in-multicast-push-notification-in-java-spring-boot[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия