From c0185874dac433ebf28ebd0cb7b3412159c5a0f7 Mon Sep 17 00:00:00 2001 From: pooreumjung Date: Thu, 4 Jun 2026 15:09:32 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20TestFlight=20iOS=20=ED=91=B8=EC=8B=9C=20?= =?UTF-8?q?=EB=AF=B8=EC=88=98=EC=8B=A0=20=ED=95=B4=EA=B2=B0=EC=9D=84=20?= =?UTF-8?q?=EC=9C=84=ED=95=9C=20FCM=20APNs=20=ED=99=98=EA=B2=BD=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- .../com/semosan/api/common/fcm/FcmService.java | 15 ++++++++++++--- src/main/resources/application.yaml | 3 +++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/semosan/api/common/fcm/FcmService.java b/src/main/java/com/semosan/api/common/fcm/FcmService.java index 949e0b4..5a6cbd2 100644 --- a/src/main/java/com/semosan/api/common/fcm/FcmService.java +++ b/src/main/java/com/semosan/api/common/fcm/FcmService.java @@ -7,6 +7,7 @@ import com.google.firebase.messaging.Message; import com.google.firebase.messaging.Notification; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.Map; @@ -15,6 +16,9 @@ @Service public class FcmService { + @Value("${fcm.apns-environment:production}") + private String apnsEnvironment; + public String sendMessage( String token, String title, @@ -33,9 +37,7 @@ public String sendMessage( builder.setNotification(notification); } - if (dataOnly) { - builder.setApnsConfig(silentPushApnsConfig()); - } + builder.setApnsConfig(dataOnly ? silentPushApnsConfig() : normalPushApnsConfig()); if (data != null && !data.isEmpty()) { builder.putAllData(data); @@ -46,8 +48,15 @@ public String sendMessage( return response; } + private ApnsConfig normalPushApnsConfig() { + return ApnsConfig.builder() + .putHeader("apns-environment", apnsEnvironment) + .build(); + } + private ApnsConfig silentPushApnsConfig() { return ApnsConfig.builder() + .putHeader("apns-environment", apnsEnvironment) .setAps(Aps.builder() .setContentAvailable(true) .build()) diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 712f0cd..7479714 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -46,6 +46,9 @@ test: firebase: service-account-path: ${FIREBASE_SERVICE_ACCOUNT_PATH} +fcm: + apns-environment: ${FCM_APNS_ENVIRONMENT:production} + springdoc: swagger-ui: path: /swagger-ui.html