This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package im.rosetta.service.dispatch;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import im.rosetta.client.ClientManager;
|
||||
@@ -98,14 +99,26 @@ public class MessageDispatcher {
|
||||
}
|
||||
if(packet instanceof Packet7Read){
|
||||
/**
|
||||
* Если это пакет прочтения, то не отправляем пуш уведомление, так как это может привести к спаму пушами при чтении сообщений
|
||||
* Если это пакет прочтения, то отправляем тихий пуш, что диалог прочитан, отправляем тому, кто читает диалог, чтобы
|
||||
* клиент мог очистить пуши для этого диалога
|
||||
*/
|
||||
this.firebaseDispatcher.sendPushNotification(fromPublicKey, new HashMap<>(){
|
||||
{
|
||||
put("type", "read");
|
||||
put("dialog", toPublicKey);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Отправляем PUSH уведомление
|
||||
*/
|
||||
this.firebaseDispatcher.sendPushNotification(groupMembersPublicKeys, "Rosetta", "New message in group", toPublicKey.replace("#group:", ""));
|
||||
this.firebaseDispatcher.sendPushNotification(groupMembersPublicKeys, new HashMap<>(){
|
||||
{
|
||||
put("type", "group_message");
|
||||
put("from", toPublicKey.replace("#group:", ""));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -156,15 +169,26 @@ public class MessageDispatcher {
|
||||
}
|
||||
if(packet instanceof Packet7Read){
|
||||
/**
|
||||
* Если это пакет прочтения, то не отправляем пуш уведомление,
|
||||
* так как это может привести к спаму пушами при чтении сообщений
|
||||
* Если это пакет прочтения, то отправляем тихий пуш, что диалог прочитан, отправляем тому, кто читает диалог, чтобы
|
||||
* клиент мог очистить пуши для этого диалога
|
||||
*/
|
||||
this.firebaseDispatcher.sendPushNotification(fromPublicKey, new HashMap<>(){
|
||||
{
|
||||
put("type", "read");
|
||||
put("dialog", toPublicKey);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Отправляем PUSH уведомление получателю
|
||||
*/
|
||||
this.firebaseDispatcher.sendPushNotification(toPublicKey, user.getTitle(), "New message", fromPublicKey);
|
||||
this.firebaseDispatcher.sendPushNotification(toPublicKey, new HashMap<>(){
|
||||
{
|
||||
put("type", "personal_message");
|
||||
put("from", fromPublicKey);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user