From d8ee82ea400e0b21c8039b3c14fb2847a40417e5 Mon Sep 17 00:00:00 2001 From: heavyrian2012 Date: Mon, 18 Apr 2022 14:07:52 +0800 Subject: [PATCH] support secret chat push --- src/main/java/cn/wildfirechat/push/PushMessageType.java | 1 + src/main/java/cn/wildfirechat/push/android/fcm/FCMPush.java | 4 ++++ .../java/cn/wildfirechat/push/android/meizu/MeiZuPush.java | 4 ++++ src/main/java/cn/wildfirechat/push/android/oppo/OppoPush.java | 4 ++++ src/main/java/cn/wildfirechat/push/android/vivo/VivoPush.java | 4 ++++ .../java/cn/wildfirechat/push/android/xiaomi/XiaomiPush.java | 4 ++++ src/main/java/cn/wildfirechat/push/ios/ApnsServer.java | 4 +++- 7 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/cn/wildfirechat/push/PushMessageType.java b/src/main/java/cn/wildfirechat/push/PushMessageType.java index 900deab..7a0a687 100644 --- a/src/main/java/cn/wildfirechat/push/PushMessageType.java +++ b/src/main/java/cn/wildfirechat/push/PushMessageType.java @@ -8,4 +8,5 @@ public interface PushMessageType { int PUSH_MESSAGE_TYPE_VOIP_ANSWER = 4; int PUSH_MESSAGE_TYPE_RECALLED = 5; int PUSH_MESSAGE_TYPE_DELETED = 6; + int PUSH_MESSAGE_TYPE_SECRET_CHAT = 7; } diff --git a/src/main/java/cn/wildfirechat/push/android/fcm/FCMPush.java b/src/main/java/cn/wildfirechat/push/android/fcm/FCMPush.java index 5f338e8..b7386f6 100644 --- a/src/main/java/cn/wildfirechat/push/android/fcm/FCMPush.java +++ b/src/main/java/cn/wildfirechat/push/android/fcm/FCMPush.java @@ -40,6 +40,10 @@ public class FCMPush { return; } + if(pushMessage.pushMessageType == PushMessageType.PUSH_MESSAGE_TYPE_SECRET_CHAT) { + pushMessage.pushContent = "您收到一条密聊消息"; + } + Notification.Builder builder = Notification.builder().setTitle(pushMessage.senderName).setBody(pushMessage.pushContent); Message message = Message.builder() .setNotification(builder.build()) diff --git a/src/main/java/cn/wildfirechat/push/android/meizu/MeiZuPush.java b/src/main/java/cn/wildfirechat/push/android/meizu/MeiZuPush.java index 7619b54..00a8f9f 100644 --- a/src/main/java/cn/wildfirechat/push/android/meizu/MeiZuPush.java +++ b/src/main/java/cn/wildfirechat/push/android/meizu/MeiZuPush.java @@ -54,6 +54,10 @@ public class MeiZuPush { } } + if(pushMessage.pushMessageType == PushMessageType.PUSH_MESSAGE_TYPE_SECRET_CHAT) { + pushMessage.pushContent = "您收到一条密聊消息"; + } + VarnishedMessage message = new VarnishedMessage.Builder() .appId(mConfig.getAppId()) .title(title) diff --git a/src/main/java/cn/wildfirechat/push/android/oppo/OppoPush.java b/src/main/java/cn/wildfirechat/push/android/oppo/OppoPush.java index 5d136c6..8a84f54 100644 --- a/src/main/java/cn/wildfirechat/push/android/oppo/OppoPush.java +++ b/src/main/java/cn/wildfirechat/push/android/oppo/OppoPush.java @@ -92,6 +92,10 @@ public class OppoPush { } } + if(pushMessage.pushMessageType == PushMessageType.PUSH_MESSAGE_TYPE_SECRET_CHAT) { + pushMessage.pushContent = "您收到一条密聊消息"; + } + notification.setTitle(title); notification.setContent(pushMessage.pushContent); diff --git a/src/main/java/cn/wildfirechat/push/android/vivo/VivoPush.java b/src/main/java/cn/wildfirechat/push/android/vivo/VivoPush.java index 687f78c..2bdce21 100644 --- a/src/main/java/cn/wildfirechat/push/android/vivo/VivoPush.java +++ b/src/main/java/cn/wildfirechat/push/android/vivo/VivoPush.java @@ -67,6 +67,10 @@ public class VivoPush { title = pushMessage.senderName; } } + if(pushMessage.pushMessageType == PushMessageType.PUSH_MESSAGE_TYPE_SECRET_CHAT) { + pushMessage.pushContent = "您收到一条密聊消息"; + } + Sender senderMessage = new Sender(mConfig.getAppSecret(), authToken); Message.Builder builder = new Message.Builder() .regId(pushMessage.getDeviceToken())//该测试手机设备订阅推送后生成的regId
 diff --git a/src/main/java/cn/wildfirechat/push/android/xiaomi/XiaomiPush.java b/src/main/java/cn/wildfirechat/push/android/xiaomi/XiaomiPush.java index 5fa5f58..cc3dbd3 100644 --- a/src/main/java/cn/wildfirechat/push/android/xiaomi/XiaomiPush.java +++ b/src/main/java/cn/wildfirechat/push/android/xiaomi/XiaomiPush.java @@ -30,6 +30,10 @@ public class XiaomiPush { Constants.useOfficial(); Sender sender = new Sender(mConfig.getAppSecret()); + if(pushMessage.pushMessageType == PushMessageType.PUSH_MESSAGE_TYPE_SECRET_CHAT) { + pushMessage.pushContent = "您收到一条密聊消息"; + } + Message message; String token = pushMessage.getDeviceToken(); pushMessage.deviceToken = null; diff --git a/src/main/java/cn/wildfirechat/push/ios/ApnsServer.java b/src/main/java/cn/wildfirechat/push/ios/ApnsServer.java index da95981..3f3d394 100644 --- a/src/main/java/cn/wildfirechat/push/ios/ApnsServer.java +++ b/src/main/java/cn/wildfirechat/push/ios/ApnsServer.java @@ -144,10 +144,12 @@ public class ApnsServer { sound = null; hiddenDetail = false; long deletedId = getMessageId(pushMessage); - if(deletedId > 0) { + if (deletedId > 0) { collapseId = deletedId + ""; } pushMessage.pushData = null; + } else if(pushMessage.pushMessageType == PushMessageType.PUSH_MESSAGE_TYPE_SECRET_CHAT) { + pushMessage.pushContent = "您收到一条密聊消息"; } else if(pushMessage.pushMessageType != PushMessageType.PUSH_MESSAGE_TYPE_NORMAL) { LOG.error("not support push message type:{}", pushMessage.pushMessageType); }