Столкновение с трудностями в многоадресном push-уведомлении при загрузке Java SpringJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Столкновение с трудностями в многоадресном push-уведомлении при загрузке Java Spring

Сообщение Anonymous »

Мое требование состоит в том, что я создаю проект новостного портала, где я хочу отправлять последние добавленные новости всем имеющимся у меня токенам. Проблема, с которой я столкнулся, заключается в том, что я не могу использовать функцию 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»