서비스를 개발하면서 푸쉬 알림 기능이 필요하였습니다. 원래는 fcm(firebase cloud messaging)를 사용하려고 했는데, 구현하고자 하는 기능이 단순히 미리 설정해둔 시간에 맞춰 알림이 오면 충분한 상황이라 flutter_local_notifications 패키지를 사용해서 구현해 보았습니다 !!
https://pub.dev/packages/flutter_local_notifications
대체적으로 공식문서를 보면 패키지의 활용법이 잘 나와있습니다. 하지만 조금은 방대한 양의 자료들을 전달하고 있어, 저는 실제로 활용하는 데 어려움을 겪었습니다. 그래서 필요한 부분만 간단하게 설명해보고자 합니당 :)
먼저 local notification을 사용하기 위한 패키지들을 추가해줍니다 !
flutter_native_timezone 패키지를 추가하는 이유는 예약 메세지를 위한 현재 시간을 받아오기 위함입니다 :)
그 다음으로는 AndroidManifest.xml 파일을 수정해줘야 합니다 !
파일의 위치는 android -> app -> src -> main에 있습니다 :)
여기서 몇가지를 추가해줘야 하는데,
이렇게 하면 기본적인 설정은 끝입니다 !
전체 코드
코드 분석
flutter_local_notification을 사용하기 위한 설정 초기화
단말기의 시간 받아오기
등록하고자 하는 메세지 설정
flutter_local_notification에는 notification을 줄 다양한 함수들이 있는데, 그 중 zonedSchedule는 예약 시간을 정해 그 시간에 메세지를 발송하는 데 사용할 수 있습니다 !!
버튼을 클릭하고 1분 뒤 메세지가 도착
'Flutter' 카테고리의 다른 글
[Flutter] (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) (2) | 2022.09.27 |
---|---|
[Flutter] [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException (0) | 2022.09.27 |
[Flutter] Failed to apply plugin 'com.android.internal.version-check'. (1) | 2022.09.25 |
[Flutter] W/Firestore( 3783): (24.2.0) [Firestore] (0) | 2022.08.18 |
[flutter] Failed host lookup: 에러 (0) | 2022.07.20 |