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