Add notification sound for iOS and Android (#83)

This commit is contained in:
Artyom 2022-10-12 13:47:22 +03:00 committed by GitHub
parent 1d63ab6156
commit eef1504171
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 36 additions and 0 deletions

View File

@ -1,5 +1,9 @@
package ru.touchin.push.message.provider.fcm.converters
import com.google.firebase.messaging.AndroidConfig
import com.google.firebase.messaging.AndroidNotification
import com.google.firebase.messaging.ApnsConfig
import com.google.firebase.messaging.Aps
import com.google.firebase.messaging.Message
import org.springframework.stereotype.Component
import ru.touchin.push.message.provider.dto.Notification
@ -10,9 +14,17 @@ class PushTokenMessageConverter(
private val notificationConverter: NotificationConverter
) {
private companion object {
const val PLATFORMS_KEY_SOUND_ON = "default"
}
operator fun invoke(request: PushTokenMessage): Message {
return Message.builder()
.setToken(request.token)
.setupApns()
.setupAndroid()
.setIfExists(request.notification)
.putAllData(request.data)
.build()
@ -26,4 +38,28 @@ class PushTokenMessageConverter(
}
}
private fun Message.Builder.setupApns(): Message.Builder {
return setApnsConfig(
ApnsConfig.builder()
.setAps(
Aps.builder()
.setSound(PLATFORMS_KEY_SOUND_ON)
.build()
)
.build()
)
}
private fun Message.Builder.setupAndroid(): Message.Builder {
return setAndroidConfig(
AndroidConfig.builder()
.setNotification(
AndroidNotification.builder()
.setSound(PLATFORMS_KEY_SOUND_ON)
.build()
)
.build()
)
}
}