# FCM : 앱 푸시알림 기능 + 크로스 플랫폼 지원 + 리소스 낭비 최적화
본 실습은 클라우드 서버를 통해 앱 푸시를 보내기 위한 FCM Token을 가져오는 방법에 대한 시간을 가져보겠다.
1. package import
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'firebase_options.dart';
import 'package:http/http.dart' as http;
> 빨간 줄이 뜬다면 환경설정 참고
https://www-seok-com.tistory.com/60
FCM (Firebase Cloud Messaging) (1) 설정단계
# FCM : 앱 푸시알림 기능 + 크로스 플랫폼 지원 + 리소스 낭비 최적화 본 실습은 클라우드 서버를 통해 앱 푸시를 보내기 전 OS별 환경설정을 하는 시간을 가져보겠다. 인용 블로그: https://velog.io/@ty
www-seok-com.tistory.com
2. FCM 요청 코드
// Token GET 이후 서버로 POST
Future<void> main() async{
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// 메시지 알림 권한 요청
FirebaseMessaging.instance.requestPermission(
badge: true,
alert: true,
sound: true,
);
// 해당 디바이스의 FCM 토큰 값을 가져온다.
final fcm_token = await FirebaseMessaging.instance.getToken();
// const url = 'http://127.0.0.1:8000/fcm_token'; //ios
const url = 'http://10.0.2.2:8000/fcm_token'; //android
try {
// Fast API 서버로 토큰값 전달.
// POST 요청 보내기
final response = await http.post(
Uri.parse(url),
headers: {'Content-Type': 'application/json'},
body: jsonEncode({
'fcm_token': fcm_token,
})
);
// 응답 처리
if (response.statusCode == 200) {
print('FCM 토큰 전송 성공');
} else {
print('FCM 토큰 전송 실패: ${response.statusCode}');
}
} catch(e) {
print('FCM 토큰 전송 중 에러발생: $e');
}
runApp(const MyApp());
}
'FireBase' 카테고리의 다른 글
FCM (Firebase Cloud Messaging) (5) FCM 요청 (0) | 2024.04.23 |
---|---|
FCM (Firebase Cloud Messaging) (3) API (V1) (0) | 2024.04.23 |
FCM (Firebase Cloud Messaging) (2) Firebase 설정 (0) | 2024.04.23 |
FCM (Firebase Cloud Messaging) (1) 설정단계 (0) | 2024.04.23 |