• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Flutter 게시판 Local notification 알림 주는 법 버그관련 질문 입니다.

Local notification 알림 주는 법 버그관련 질문 입니다.

  • 이 주제에는 11개 답변, 7명 참여가 있으며 진성식2 월 전에 전에 마지막으로 업데이트했습니다.
2 글 보임 - 11 에서 12 까지 (총 12 중에서)
  • 글쓴이
  • #131521

    codingapple
    키 마스터
    어떻게 안됩니까
    #138042

    진성식
    참가자
     flutter_local_notifications: ^19.0.0 // 버전
    
    
    
    // notification.dart 임
    import 'package:flutter/material.dart';
    import 'package:flutter_local_notifications/flutter_local_notifications.dart';
    import 'package:timezone/data/latest_all.dart' as tz;
    import 'package:timezone/timezone.dart' as tz;
    
    
    final notifications = FlutterLocalNotificationsPlugin();
    //1. 앱로드시 실행할 기본설정
    initNotification(context) async {
      //안드로이드용 아이콘파일 이름
      var androidSetting = AndroidInitializationSettings('app_icon');
      //ios에서 앱 로드시 유저에게 권한요청하려면
      var iosSetting = DarwinInitializationSettings(
        requestAlertPermission: true,
        requestBadgePermission: true,
        requestSoundPermission: true,
      );
      var initializationSettings = InitializationSettings(
          android: androidSetting,
          iOS: iosSetting
      );
      await notifications.initialize(
        initializationSettings,
        onDidReceiveNotificationResponse: (NotificationResponse response) {
          Navigator.push(
            context,
            MaterialPageRoute(builder: (context) => Text('새로운페이지'))
          );
          print('알림 선택됨: ${response.payload}');
        }
      );
    }
     
    //2. 이 함수 원하는 곳에서 실행하면 알림 뜸
    showNotification() async {
      var androidDetails = AndroidNotificationDetails(
        '유니크한 알림 채널 ID',
        '알림종류 설명',
        priority: Priority.high,
        importance: Importance.max,
        color: Color.fromARGB(255, 255, 0, 0),
      );
      //IOS 알림 허가 요청
      var iosDetails = DarwinNotificationDetails(
        presentAlert: true,
        presentBadge: true,
        presentSound: true,
      );
      // 알림 id, 제목, 내용 맘대로 채우기
      notifications.show(
          1,
          '제목1',
          '내용1',
          NotificationDetails(android: androidDetails, iOS: iosDetails),
          payload: '부가정보'
        );
    }
    showNotification2() async {
      tz.initializeTimeZones();
      var androidDetails = const AndroidNotificationDetails(
        '유니크한 알림 ID',
        '알림종류 설명',
        priority: Priority.high,
        importance: Importance.max,
        color: Color.fromARGB(255, 255, 0, 0),
      );
      var iosDetails = const DarwinNotificationDetails(
        presentAlert: true,
        presentBadge: true,
        presentSound: true,
      );
      notifications.zonedSchedule(  // .show 알림 바로띄워줌 // .zonedSchedule 예약 알림
      //.periodicallySchedule 주기적 알림
          2,
          '제목2',
          '내용2',
          // RepeatInterval.daily,
          tz.TZDateTime.now(tz.local).add(Duration(seconds: 3)),
          NotificationDetails(android: androidDetails, iOS: iosDetails),
          androidScheduleMode: AndroidScheduleMode.exactAllowWhileIdle
      );
    }
     
     
2 글 보임 - 11 에서 12 까지 (총 12 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠