푸시메시지 기능 추가 - 전체, 개별, 라이브 생성, 라이브 시작, 메시지 전송, 콘텐츠 업로드
This commit is contained in:
39
src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmService.kt
Normal file
39
src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmService.kt
Normal file
@@ -0,0 +1,39 @@
|
||||
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<String>,
|
||||
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())
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user