ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Flutter]flutter_local_notifications 와 firebase_messaging 플러그인 차이점은 무엇인가?
    flutter 파헤치기 2024. 2. 19. 08:53

    `flutter_local_notifications`와 `firebase_messaging`은 모두 Flutter 앱에서 알림을 처리하는 데 사용되는 플러그인입니다. 그러나 각각의 플러그인은 서로 다른 목적과 기능을 갖고 있습니다.

    1. `flutter_local_notifications`:
       - 목적: 앱 내에서 로컬 알림을 표시하고 관리하는 데 사용됩니다. 이 플러그인은 앱이 백그라운드 상태이거나 사용 중지 상태일 때에도 로컬 알림을 표시할 수 있습니다.
       - 기능: 로컬 알림을 예약하고, 수정하고, 삭제하는 데 사용됩니다. 알림 콘텐츠, 제목, 아이콘, 사운드 등을 사용자 정의할 수 있습니다. 또한 사용자가 알림을 클릭하면 특정 작업을 실행할 수 있습니다.

    2. `firebase_messaging`:
       - 목적: Firebase Cloud Messaging (FCM) 서비스를 통해 푸시 알림을 관리하고 수신하는 데 사용됩니다. 이는 서버에서 전송된 알림을 기기로 보내는 기능을 제공합니다.
       - 기능: 푸시 알림을 수신하고 처리하는 데 사용됩니다. 앱이 포그라운드 상태에서도 알림을 받을 수 있으며, 사용자가 알림을 탭하면 해당 알림에 대한 추가 작업을 수행할 수 있습니다. 또한 앱이 백그라운드 상태이거나 종료된 경우에도 푸시 알림을 받을 수 있습니다.

    따라서 `flutter_local_notifications`은 앱 내에서 로컬 알림을 관리하는 데 사용되고, `firebase_messaging`은 서버에서 전송된 푸시 알림을 처리하는 데 사용됩니다. 일반적으로, 로컬 알림은 앱 내에서 발생하는 이벤트에 대한 사용자에게 피드백을 제공하고, 푸시 알림은 외부 이벤트에 대한 사용자에게 피드백을 제공하는 데 사용됩니다.


    `flutter_local_notifications` 플러그인은 앱의 데이터베이스나 로컬 저장소에 알림 정보를 저장하지 않습니다. 따라서 앱을 재설치하면 이전에 예약했거나 수정한 알림 정보는 유지되지 않습니다.

    앱을 다시 설치하거나 새 기기에서 앱을 다운로드한 경우에는 이전에 예약했거나 수정한 알림 정보가 모두 손실됩니다. 사용자가 다시 알림을 예약하거나 수정해야 합니다.

    앱에서 영구적으로 알림 정보를 유지하려는 경우에는 데이터베이스나 로컬 저장소에 해당 정보를 저장하고, 앱이 재설치되어도 이를 복원할 수 있도록 구현해야 합니다. 일반적으로는 SQLite, SharedPreferences, 또는 Firebase Firestore와 같은 데이터베이스나 로컬 저장소를 사용하여 이를 구현할 수 있습니다.


    SQLite, SharedPreferences, Firebase Firestore와 같은 데이터베이스나 로컬 저장소는 여러 앱에서 공통으로 사용될 수 있는 기술입니다. 그러나 사용 여부는 앱의 요구 사항과 개발자의 선택에 따라 다를 수 있습니다.

    1. `SQLite`: SQLite는 경량의 내장형 데이터베이스로, 안드로이드와 iOS를 포함한 다양한 플랫폼에서 널리 사용됩니다. SQLite를 사용하여 구조화된 데이터를 로컬에 저장하고 검색할 수 있습니다. Android 및 iOS 앱 모두에서 사용할 수 있으며, 많은 앱이 SQLite를 사용하여 데이터를 저장하고 관리합니다.

    2. `SharedPreferences`: SharedPreferences는 안드로이드 플랫폼에서 사용되는 간단한 키-값 저장소입니다. 앱의 설정 및 사용자 기본 설정과 같은 간단한 데이터를 저장하는 데 사용됩니다. iOS에서는 UserDefaults를 비슷한 용도로 사용할 수 있습니다.

    3. `Firebase Firestore`: Firebase Firestore는 클라우드 기반의 NoSQL 데이터베이스로, 실시간 데이터 동기화 및 사용자 인증과 같은 기능을 제공합니다. 다양한 플랫폼에서 사용할 수 있으며, 특히 모바일 앱 및 웹 앱과의 통합에 많이 사용됩니다. Firebase Firestore를 사용하면 여러 기기 간에 데이터를 동기화하고 앱의 데이터를 안전하게 저장할 수 있습니다.

    이러한 데이터베이스와 로컬 저장소는 앱의 요구 사항에 따라 선택될 수 있습니다. SQLite는 복잡한 데이터 모델을 다루는 데 유용하며, SharedPreferences는 간단한 설정을 저장하는 데 유용합니다. Firebase Firestore는 클라우드 기반의 데이터베이스 서비스를 제공하여 데이터의 실시간 동기화와 사용자 관리를 간편하게 할 수 있습니다. 따라서 개발자는 앱의 요구 사항과 성능, 보안 및 사용 편의성을 고려하여 적절한 데이터베이스를 선택할 수 있습니다.


     

    ^^

Designed by Tistory.