푸시 알림은 사용자에게 중요한 정보나 앱에 대한 알림을 전달하는데 사용됩니다. 이 포스트에서는 Flutter 앱에서 푸시 알림 기능을 구현하는 방법에 대해 알아보겠습니다.
Firebase 프로젝트 설정
먼저, Firebase 콘솔에서 프로젝트를 생성하고 앱과 연동해야 합니다. Firebase 콘솔에서 Cloud Messaging을 설정하고, 서버 키 및 발급 토큰을 받아야 합니다.
Flutter 앱에 Firebase 플러그인 추가
firebase_messaging
플러그인을 pubspec.yaml 파일에 추가합니다.
dependencies:
flutter:
sdk: flutter
firebase_core: ^1.10.0
firebase_messaging: ^11.2.7
또한, Firebase SDK를 초기화해야 합니다. 이를 위해 main.dart
파일에서 Firebase 앱을 초기화하는 코드를 추가해야 합니다.
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
디바이스 토큰 등록
Flutter 앱이 시작될 때, FCM에서 디바이스 토큰을 얻어와서 알림을 수신할 수 있도록 등록해야 합니다. 다음은 푸시 알림을 수신할 수 있도록 FCM을 설정하는 코드입니다.
FirebaseMessaging messaging = FirebaseMessaging.instance;
String? token = await messaging.getToken();
위 코드를 이용하여 FirebaseMessaging의 getToken
메소드를 호출하여 디바이스 토큰을 가져올 수 있습니다.
푸시 알림 수신
Flutter 앱에서 푸시 알림을 처리하기 위해 firebase_messaging
플러그인을 사용할 수 있습니다. 앱이 포그라운드에 있을 때 푸시 알림을 처리하려면 FirebaseMessaging.onMessage
메소드를 사용하고, 백그라운드 또는 종료된 상태에서 알림을 처리하려면 FirebaseMessaging.onBackgroundMessage
메소드를 사용할 수 있습니다.
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
// 앱이 실행 중일 때 푸시 알림을 처리하기
// message.notification의 내용을 이용하여 알림을 처리
});
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
// 앱이 백그라운드 또는 종료된 상태일 때 푸시 알림을 처리하기
// message.notification의 내용을 이용하여 알림을 처리
}
결론
이제 위에서 언급한 방법으로 Flutter 앱에 푸시 알림을 구현할 수 있습니다. Firebase와 firebase_messaging
플러그인을 사용하여 디바이스 토큰을 등록하고, 푸시 알림을 수신하고 처리하는 기능을 효율적으로 구현할 수 있습니다.
참고문헌: