Добавлены APNS
This commit is contained in:
@@ -9,6 +9,9 @@ import java.util.concurrent.Executors;
|
|||||||
import com.google.auth.oauth2.GoogleCredentials;
|
import com.google.auth.oauth2.GoogleCredentials;
|
||||||
import com.google.firebase.FirebaseApp;
|
import com.google.firebase.FirebaseApp;
|
||||||
import com.google.firebase.FirebaseOptions;
|
import com.google.firebase.FirebaseOptions;
|
||||||
|
import com.google.firebase.messaging.ApnsConfig;
|
||||||
|
import com.google.firebase.messaging.Aps;
|
||||||
|
import com.google.firebase.messaging.ApsAlert;
|
||||||
import com.google.firebase.messaging.FirebaseMessaging;
|
import com.google.firebase.messaging.FirebaseMessaging;
|
||||||
import com.google.firebase.messaging.Message;
|
import com.google.firebase.messaging.Message;
|
||||||
import com.google.firebase.messaging.Notification;
|
import com.google.firebase.messaging.Notification;
|
||||||
@@ -51,13 +54,7 @@ public class FirebaseDispatcher {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public void sendPushNotification(String publicKey, String title, String messageText, String senderPublicKey) {
|
||||||
* Отправляет push-уведомление пользователю с данным публичным ключом (асинхронно)
|
|
||||||
* @param publicKey публичный ключ пользователя
|
|
||||||
* @param title заголовок уведомления
|
|
||||||
* @param messageText текст уведомления
|
|
||||||
*/
|
|
||||||
public void sendPushNotification(String publicKey, String title, String messageText) {
|
|
||||||
executor.submit(() -> {
|
executor.submit(() -> {
|
||||||
try {
|
try {
|
||||||
List<String> tokens = userService.getNotificationsTokens(publicKey);
|
List<String> tokens = userService.getNotificationsTokens(publicKey);
|
||||||
@@ -72,6 +69,17 @@ public class FirebaseDispatcher {
|
|||||||
.setTitle(title)
|
.setTitle(title)
|
||||||
.setBody(messageText)
|
.setBody(messageText)
|
||||||
.build())
|
.build())
|
||||||
|
.setApnsConfig(ApnsConfig.builder()
|
||||||
|
.setAps(Aps.builder()
|
||||||
|
.setMutableContent(true)
|
||||||
|
.setSound("default")
|
||||||
|
.setAlert(ApsAlert.builder()
|
||||||
|
.setTitle(title)
|
||||||
|
.setBody(messageText)
|
||||||
|
.build())
|
||||||
|
.build())
|
||||||
|
.build())
|
||||||
|
.putData("sender_public_key", senderPublicKey)
|
||||||
.setToken(token)
|
.setToken(token)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
@@ -86,6 +94,16 @@ public class FirebaseDispatcher {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Отправляет push-уведомление пользователю с данным публичным ключом (асинхронно)
|
||||||
|
* @param publicKey публичный ключ пользователя
|
||||||
|
* @param title заголовок уведомления
|
||||||
|
* @param messageText текст уведомления
|
||||||
|
*/
|
||||||
|
public void sendPushNotification(String publicKey, String title, String messageText) {
|
||||||
|
sendPushNotification(publicKey, title, messageText, null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Отправляет push-уведомление нескольким пользователям (асинхронно)
|
* Отправляет push-уведомление нескольким пользователям (асинхронно)
|
||||||
* @param publicKeys список публичных ключей пользователей
|
* @param publicKeys список публичных ключей пользователей
|
||||||
|
|||||||
Reference in New Issue
Block a user