From 187ba7c7669fca37b9c2b1100e41185850d85046 Mon Sep 17 00:00:00 2001 From: imndx Date: Wed, 30 Oct 2024 20:40:59 +0800 Subject: [PATCH] =?UTF-8?q?=E9=B8=BF=E8=92=99=E5=B9=B3=E5=8F=B0=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=98=AF=E5=90=A6=E6=94=AF=E6=8C=81=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E9=9F=B3=E8=A7=86=E9=A2=91=E6=B6=88=E6=81=AF=E7=9A=84?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/hm.properties | 8 +++++++- src/main/java/cn/wildfirechat/push/hm/HMConfig.java | 9 +++++++++ .../java/cn/wildfirechat/push/hm/HMPushServiceImpl.java | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/config/hm.properties b/config/hm.properties index aef5a78..b28965b 100644 --- a/config/hm.properties +++ b/config/hm.properties @@ -6,4 +6,10 @@ hm.iss=1002*** # 请使用服务帐号密钥文件中的key_id替换 hm.kid=184d3688732245d*** # 项目 id -hm.projectId=38842184*** \ No newline at end of file +hm.projectId=38842184*** + +# 音视频通话推送 需要申请特别的推送权限,请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/push-apply-right-V5#section7291115452410 +# 只有支持 voip push 之后, 才能接入 callkit,实现后台弹出音视频通话邀请横幅 +# 不支持 voip push 时,将在通知栏显示一条 xxx邀请你进行音视频通话的提示 +hm.supportVoipPush=false + diff --git a/src/main/java/cn/wildfirechat/push/hm/HMConfig.java b/src/main/java/cn/wildfirechat/push/hm/HMConfig.java index 365a32c..5557614 100644 --- a/src/main/java/cn/wildfirechat/push/hm/HMConfig.java +++ b/src/main/java/cn/wildfirechat/push/hm/HMConfig.java @@ -12,6 +12,7 @@ public class HMConfig { private String iss; private String kid; private String projectId; + private boolean supportVoipPush = false; public String getPrivateKey() { return privateKey; @@ -44,4 +45,12 @@ public class HMConfig { public void setProjectId(String projectId) { this.projectId = projectId; } + + public boolean isSupportVoipPush() { + return supportVoipPush; + } + + public void setSupportVoipPush(boolean supportVoipPush) { + this.supportVoipPush = supportVoipPush; + } } diff --git a/src/main/java/cn/wildfirechat/push/hm/HMPushServiceImpl.java b/src/main/java/cn/wildfirechat/push/hm/HMPushServiceImpl.java index eb426b3..48555ab 100644 --- a/src/main/java/cn/wildfirechat/push/hm/HMPushServiceImpl.java +++ b/src/main/java/cn/wildfirechat/push/hm/HMPushServiceImpl.java @@ -87,7 +87,7 @@ public class HMPushServiceImpl implements HMPushService { return null; } - if (pushMessage.pushMessageType == PushMessageType.PUSH_MESSAGE_TYPE_VOIP_INVITE || pushMessage.pushMessageType == PushMessageType.PUSH_MESSAGE_TYPE_VOIP_BYE) { + if (config.isSupportVoipPush() && pushMessage.pushMessageType == PushMessageType.PUSH_MESSAGE_TYPE_VOIP_INVITE || pushMessage.pushMessageType == PushMessageType.PUSH_MESSAGE_TYPE_VOIP_BYE) { VoipPayload voipPayload = VoipPayload.buildAlertPayload(pushMessage); String response = httpPost(this.pushUrl, jwt, 10, voipPayload.toString(), 10000, 10000); LOG.info("Push voip message to {} response {}", pushMessage.getDeviceToken(), response);