[flutter] Local notification 알림 주기

박망키·2022년 8월 19일
2

Flutter 야금야금 먹기

목록 보기
68/97

1.package 설치하기

pubspec.yaml에 flutter_local_notifications추가하기

2.notification.dart파일을 만들어서 아래 코드 넣기

import 'package:flutter/material.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';

final notifications = FlutterLocalNotificationsPlugin();


//1. 앱로드시 실행할 기본설정
initNotification() async {

  //안드로이드용 아이콘파일 이름
  var androidSetting = AndroidInitializationSettings('app_icon');

  //ios에서 앱 로드시 유저에게 권한요청하려면
  var iosSetting = IOSInitializationSettings(
    requestAlertPermission: true,
    requestBadgePermission: true,
    requestSoundPermission: true,
  );

  var initializationSettings = InitializationSettings(
      android: androidSetting,
      iOS: iosSetting
  );
  await notifications.initialize(
    initializationSettings,
    //알림 누를때 함수실행하고 싶으면
    //onSelectNotification: 함수명추가
  );
}

//2. 이 함수 원하는 곳에서 실행하면 알림 뜸
showNotification() async {

  var androidDetails = AndroidNotificationDetails(
    '유니크한 알림 채널 ID',
    '알림종류 설명',
    priority: Priority.high,
    importance: Importance.max,
    color: Color.fromARGB(255, 255, 0, 0),
  );

  var iosDetails = IOSNotificationDetails(
    presentAlert: true,
    presentBadge: true,
    presentSound: true,
  );

  // 알림 id, 제목, 내용 맘대로 채우기
  notifications.show(
      1,
      '제목1',
      '내용1',
      NotificationDetails(android: androidDetails, iOS: iosDetails)
  );
}

2-1. 아이콘 이미지를 android>app>src>main>res>drawable에 넣어주어야 한다.

흰색이고 뒷배경이 투명한 png파일이여야한다.

3.앱켰을시 가장먼저 함수가 호출될수 있도록 initNotification()넣어주기.

4.사용하고 싶은 곳에 showNotification()넣기

5.실행결과




백그라운드에서 알림을 누르면 앱이 켜진다.

++알림 누르면 원하는 페이지 이동 하기
norification.dart에 notifications.initialize찾아서 onSelectNotification에 페이지 이동하는 함수를 넣어준다

profile
무럭무럭 자라는 망키

0개의 댓글