• Jan
  • Feb
  • Mar
  • Apr
  • May
  • Jun
  • Jul
  • Aug
  • Sep
  • Oct
  • Nov
  • Dec
  • Sun
  • Mon
  • Tue
  • Wed
  • Thu
  • Fri
  • Sat
  • 27
  • 28
  • 29
  • 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

FCM 연동하기

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

Firebase에 앱 추가

image

앱 추가 클릭

image

iOS 클릭

image

번들 id 추가 후 앱 등록 클릭

image

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

image

image

하라는 대로 해준다.

image

시키는 대로 한다.

연동하기

image

톱니바퀴 버튼 클릭

image

클라우드 메세징 클릭

image

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

image

오나료~

프로젝트 세팅하기

image

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

image

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()
    }
}

푸쉬 알림 테스트하기

image

Cloud Messaging에 들어간다

image

맘대루..

image

alert 잘 뜨고..

image

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

image

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