Я использую Firebase Java SDK для отправки уведомлений приложениям Android и IOS с сервера. Разработчик Andriod получает уведомления на своих устройствах, а разработчик IOS не получает никаких.
Ниже приведен мой код:
@Override
public void sendNotificationToDevices(List<String> registrationTokens, String title, String body,
Map<String, String> data) {
com.google.firebase.messaging.MulticastMessage.Builder mulitcastMessageBuilder = MulticastMessage.builder();
if (title != null) {
mulitcastMessageBuilder.setNotification(createNotification(title, body));
}
if (data != null) {
mulitcastMessageBuilder.putAllData(data);
}
MulticastMessage mulitcastMessage = mulitcastMessageBuilder.addAllTokens(registrationTokens).build();
BatchResponse response;
try {
response = FirebaseMessaging.getInstance().sendMulticast(mulitcastMessage);
logger.info(response.getSuccessCount() + " messages were sent successfully");
} catch (FirebaseMessagingException e) {
logger.error("Error sending messages: " + e.getMessage(), e);
}
}
private Notification createNotification(String title, String body) {
return new Notification(title, body);
}
Ниже приводится версия используемого мной SDK:
<dependency>
<groupId>com.google.firebase</groupId>
<artifactId>firebase-admin</artifactId>
<version>6.10.0</version>
</dependency>
Нужно ли вносить какие-либо дополнительные изменения в случаеIOS? Разработчик IOS может получать уведомления при попытке с консоли Firebase.