package kr.co.vividnext.sodalive.fcm import com.google.firebase.messaging.FirebaseMessaging import com.google.firebase.messaging.MulticastMessage import org.springframework.scheduling.annotation.Async import org.springframework.stereotype.Service @Service class FcmService { @Async fun send( tokens: List, title: String, message: String, container: String, roomId: Long? = null, messageId: Long? = null, contentId: Long? = null ) { val multicastMessage = MulticastMessage.builder() .putData("title", title) .putData("message", message) .addAllTokens(tokens) if (roomId != null) { multicastMessage.putData("room_id", roomId.toString()) } if (messageId != null) { multicastMessage.putData("message_id", messageId.toString()) } if (contentId != null) { multicastMessage.putData("content_id", contentId.toString()) } FirebaseMessaging.getInstance().sendEachForMulticast(multicastMessage.build()) } }