216.73.216.120 TODAY : 4,547
자료실 서브 타이틀 아이콘

기술문서

 > 

Flutter(플루터)

플루터(Flutter)를 사용하여 푸시 알림 기능을 구현

자료 기본정보

플루터(Flutter)를 사용하여 푸시 알림 기능을 구현

주요 프로그램 스펙

  • 평점: 10.0
  • 라이선스: free

피드백 및 다운로드

  • 사용자 평점: 10.0
  • 조회: 2

제조사 및 등록 정보

  • 제작사: LUZENSOFT
  • 등록일: 2026-01-25 14:54:01
  •  

- 설명

플루터(Flutter)를 사용하여 푸시 알림 기능을 구현하는 것은 앱의 사용자 유지율을 높이는 데 필수적인 작업입니다. 가장 표준적이고 강력한 도구인 **Firebase Cloud Messaging (FCM)**을 기준으로 핵심 단계를 정리해 드릴게요.


1. 프로젝트 준비 및 설정

먼저, Firebase 콘솔과 플루터 프로젝트를 연결해야 합니다.

  • Firebase 프로젝트 생성: Firebase 콘솔에서 새 프로젝트를 만듭니다.

  • CLI 도구 설치: firebase-toolsflutterfire_cli를 사용하여 설정을 자동화하는 것이 가장 편합니다.

    Bash

    dart pub global activate flutterfire_cli
    flutterfire configure
    
  • 의존성 추가: pubspec.yaml 파일에 필요한 패키지를 추가합니다.

    YAML

    dependencies:
      firebase_core: ^latest_version
      firebase_messaging: ^latest_version
      flutter_local_notifications: ^latest_version # 포그라운드 알림용
    

2. 플랫폼별 추가 설정

Android

  • AndroidManifest.xml에서 권한 및 서비스 설정을 확인합니다. (최신 버전은 자동 설정되는 경우가 많으나 확인이 필요합니다.)

iOS (중요)

  • Apple Developer Program 유료 계정이 필요합니다.

  • Xcode에서 Push NotificationsBackground Modes (Remote notifications) 기능을 활성화해야 합니다.

  • APNs 인증서(.p8 파일)를 Firebase 콘솔에 업로드해야 합니다.


3. 푸시 알림 코드 구현

앱의 엔트리 포인트인 main.dart에서 초기화 및 핸들링 로직을 작성합니다.

기본 초기화 로직

Dart

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';

Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  // 앱이 백그라운드나 종료된 상태에서 알림을 받았을 때 처리
  print("Handling a background message: ${message.messageId}");
}

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  
  // 백그라운드 핸들러 등록
  FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
  
  runApp(MyApp());
}

권한 요청 및 토큰 획득

사용자에게 알림 권한을 묻고, 서버에서 특정 기기로 메시지를 보낼 때 필요한 FCM Token을 가져옵니다.

Dart

FirebaseMessaging messaging = FirebaseMessaging.instance;

// 권한 요청 (iOS/Android 13 이상)
NotificationSettings settings = await messaging.requestPermission(
  alert: true,
  badge: true,
  sound: true,
);

// FCM 토큰 확인 (이 토큰을 DB에 저장하여 서버에서 활용합니다)
String? token = await messaging.getToken();
print("Device Token: $token");


4. 메시지 수신 상태 처리

푸시 알림은 앱의 상태에 따라 다르게 작동합니다.

상태

설명

Foreground

앱이 켜져 있는 상태. FirebaseMessaging.onMessage로 직접 팝업을 띄워야 함.

Background

앱이 내려가 있는 상태. 시스템 알림창에 자동으로 표시됨.

Terminated

앱이 완전히 종료된 상태. getInitialMessage()로 클릭 여부 확인 가능.


이 카테고리 Navigation
전체 카테고리 Navigation