[플러터(Flutter)]- Firebase로 푸쉬 알림 보내보기(2)_Flutter에서 Firebase 를 쓰기 위한 토큰을 받아보자!
오늘은 이전 글에 이어(?) 푸쉬알림보내기 작업을 진행하도록 하겠습니다!!
이전에 미리 파이어베이스와 플러터를 연결하는 작업을 진행했습니다.
이제 이 파이어베이스를 플러터에서 코드를 통해 실제로 구현하기 위해서는 추가적인 셋팅 작업이 필요한데요.
오늘은 그 부분에 대해서 간단하게 알아볼 예정입니다.
실제 푸쉬 메세지를 위한 코드 작성은 다음 글을 작성하여 업로드하도록 하겠습니다. 코드를 바로 보실 분은 다음 글을 봐주세용..(물론아직안올라옴)
1. pub.dev 를 통한 라이브러리 설치
먼저, 파이어베이스를 사용하기 위한 라이브러리를 설치하도록 하겠습니다.
The official repository for Dart and Flutter packages.
Pub is the package manager for the Dart programming language, containing reusable libraries & packages for Flutter and general Dart programs.
pub.dev
라이브러리 사이트에 접속하여 아래 라이브러리들의 버전을 복사하고 pubspec.yaml 에 넣어줍니다.
firebase_core: 플러터와 파이어베이스 연동에 추가적으로 필요한 라이브러리입니다.
https://pub.dev/packages/firebase_core
firebase_core | Flutter package
Flutter plugin for Firebase Core, enabling connecting to multiple Firebase apps.
pub.dev
firebase_messaging : 파이어베이스의 메세지(FCM) 기능을 사용할 수 있도록 합니다.
https://pub.dev/packages/firebase_messaging
firebase_messaging | Flutter package
Flutter plugin for Firebase Cloud Messaging, a cross-platform messaging solution that lets you reliably deliver messages on Android and iOS.
pub.dev
flutter_local_notifications: 플러터의 푸쉬알림 기능을 해제할 수 있도록 합니다.
https://pub.dev/packages/flutter_local_notifications
flutter_local_notifications | Flutter package
A cross platform plugin for displaying and scheduling local notifications for Flutter applications with the ability to customise for each platform.
pub.dev
2. 초기화 및 토큰 불러오기
토큰을 불러오기 위해 메인 파일에서 코드를 작성해봅니다.
void main() async {
WidgetsFlutterBinding.ensureInitialized(); //main 을 async(비동기)처리하기 위한 코드
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); //파이어베이스 초기화
String? FirebaseToken = await FirebaseMessaging.instance.getToken(); //파이어페이스 토큰 값
print(FirebaseToken);
runApp(const MyApp());
}
메인 코드 안에 넣어줍니다.
파이어베이스를 초기화해주고, 메세지 라이브러리를 통해 토큰을 가져옵니다.
그리고 시뮬레이터 또는 기기를 통해 앱을 실행하면 토큰이 잘 출력되는 토큰을 볼 수 있습니다!
이 토큰은 다음 글에서 실제로 코드를 작성한 후, 메세지 테스트를 진행할 때 사용될 예정이니 출력한 상태로 놔두시면 됩니다.
뭔가..! ios, Android 별 셋팅이나 진행 과정 중 문제가 많이 발생했었는데 기억이 안 납니다....
역시 기록은 그때그때 하는 게 최고인 것 같습니다..
이번 글을 다음 코드 작성 글을 작성하면서 조금 수정해보겠습니다.
잘못된 내용이나 빠진 부분에 대한 지적은 감사히 받도록 하겠습니다!!