Flutter 에서 Notification 사용하기

Flutter 에서 Notification 을 사용하기 위해 Flutter Local Notification Plugin 를 알아보겠습니다.

Flutter Local Notification Plugin 을 사용하면 IOS, Android Notification 을 동시 에 구현 가능하며, Simple Notification 외에 Scheduled Notification 과 Android 의 다양한 형식의 Notification 이 가능합니다.


지원 플랫폼

  • Android API 16+ (4.1+, the minimum version supported by Flutter)
  • iOS 8.0+ (the minimum version supported by Flutter).

기능

  • 기본 Notification
  • 다양한 스케쥴링 Notification
  • Notification 취소
  • Android(Big picture, group , inbox, Big text) 등

자세한 내용은 Flutter Local Notification Plugin 에서 확인 하시면 됩니다.


아래 순서대로 작업 하시면 됩니다.

1. flutter_local_notifications를 pubspec.yaml 파일에 추가합니다.
라이브러리 의존성 추가
2. Android 에서 진동과 예약 Notification 사용을 위해 퍼미션을 추가합니다.

진동과 예약 노티를 사용하지 않는다면 생략해도 됩니다.

안드로이드 Manifest 수정
3. 초기화

안드로이드는 아이콘 지정이 가능합니다.
@mipmap/ic_launcher으로 지정하여 디폴트 아이콘을 사용 할 수 있습니다.
다른 이미지를 사용하려면 android 프로젝트 drawable 폴더에 이미지를 사용 할 수 있습니다.

var androidSetting = AndroidInitializationSettings('@mipmap/ic_launcher');
4. callback 등록

onSelectNotificationcallback 으로 지정하여 알람을 선택했을때 실행 할 기능을 정의 할 수 있습니다.

_flutterLocalNotificationsPlugin.initialize(initializationSettings,
onSelectNotification: onSelectNotification);

Notification 을 클릭하면 Payload 를 보여주는 다이얼로그를 보여줍니다.

5. UI
6. Notification Code

기본 Notification 을 호출하는 Code 입니다.

paylod: 'Hello Flutter' <- 여기서 넘겨주는 Payload 가 위에 소개한 
onSelectNotification callback 으로 전달 됩니다.

반복 호출을 할때는 show 대신 periodicallyShow 를 호출합니다. 왼쪽 코드는 1분마다 Notification 을 호출합니다.

RepeatIntervalEnum 으로 EveryMinute, Hourly, Daily, Weekly 가능합니다.

schdedule 함수는 지정한 시간 이후에 호출 되는 Notification입니다. 왼쪽 코드는 5초 후에 Notification 이 호출됩니다.

아래는 전체 코드 입니다.

결론

Flutter local notification 은 기능들도 다양하게 구현되어 있고 쉽고 빠르게 구현 할 수 있었습니다.

아래 Github 방문하셔서 다양한 Feature 들을 확인해보세요.