FCM 연동하기
FCM 은 Firebase Cloud Messaging 으로 Firebase 콘솔에서 푸시를 보낼 수도 있으며,
서버에서 푸시를 보낼 수 있도록 지원하는 서비스
Firebase에 앱 추가

앱 추가 클릭

iOS 클릭

번들 id 추가 후 앱 등록 클릭

plist 파일 다운로드 받기! 드래그 해서 프로젝트에도 추가 해 준다.


하라는 대로 해준다.

시키는 대로 한다.
연동하기

톱니바퀴 버튼 클릭

클라우드 메세징 클릭

여기에 인증서를 업로드 해 주는데, 나는 아직 개발 인증서만 만들어 뒀으니까
개발 인증서를 업로드 해 준다.

오나료~
프로젝트 세팅하기

+ Capability 눌러서 Push Notifications 추가해준다.

Background Modes도 추가해주고, 위와 같이 체크 해 준다.
그리고 podfile을 열어서
pod 'Firebase/Messaging'
추가 후 pod install 해 준다.
AppDelegate.swift
import FirebaseMessaging
import UserNotifications
FirebaseMessaging, UserNotifications를 import 해 준다.
UNUserNotificationCenter.current().delegate = self
Messaging.messaging().delegate = self
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter
.current()
.requestAuthorization(
options: authOptions,completionHandler: { (_, _) in }
)
application.registerForRemoteNotifications()
권한 요청하는 부분!
extension AppDelegate : MessagingDelegate {
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
print("Firebase registration token: \(fcmToken)")
}
func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingDelegate) {
print("Received data message: \(remoteMessage.description)")
}
}
extension AppDelegate : UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter,willPresent notification: UNNotification,withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
completionHandler([.alert, .badge, .sound])
}
func userNotificationCenter(_ center: UNUserNotificationCenter,didReceive response: UNNotificationResponse,withCompletionHandler completionHandler: @escaping () -> Void) {
completionHandler()
}
}
푸쉬 알림 테스트하기

Cloud Messaging에 들어간다

맘대루..

alert 잘 뜨고..

테스트 메시지 전송을 누르면 이 창이 뜬다.

콘솔에 찍혀있는 토큰 값 입력해주면 된다 ~.~