이번 포스트에서는 flutter에서 custom sound 알림을 적용하는 방법에 대해 작성한다.
notification을 위해 사용하는 패키지는 아래 두 개이고, awesome_notification
을 사용한다고 하더라도 비슷하게 해결할 수 있다.
firebase_messaging:
flutter_local_notifications:
fcm을 사용하기위해 legacy api을 사용하였고 기본 폼은 다음과 같다.
HTTP v1도 유사하게 작성한다.
{
"to": "$token",
"notification": {
"title": "Breaking News",
"body": "New news story available."
},
"data": {
"story_id": "story_12345"
}
}
Notification payload에는 sound
라는 파라미터가 있고, 이 파라미터에 원하는 값을 넣어 음악 파일을 적용할 수 있다.
//...
"sound": "my_alert.mp3",
//...
확장자는 플랫폼마다 상이하며 공통된 포맷인 wav
확장자를 사용한다.
../res/
위치에 raw
폴더를 생성하고 해당 위치에 음악 파일을 넣는다.
여기서는
p.mp3
파일
xCode 에서 파일을 추가해주면 끝난다.
결론만 보면 다음과 같이 푸시를 보내면 된다.
{
"to": "$token",
"notification": {
"title": "Breaking News",
"body": "New news story available.",
"sound": "custom_alert.wav" // $filename
},
"data": {
"story_id": "story_12345"
}
}
❗️ 추가로 기존에 있는 채널에 알림 추가는 불가능!! 새로운 채널을 만들어서 적용해야 한다.