[IOS] FCM 메시지를 받기 위해서는 앱이 FCM을 초기화하고 알림을 처리할 수 있도록 설정

iOS에서 FCM 메시지를 받기 위해서는 앱이 FCM을 초기화하고 알림을 처리할 수 있도록 설정되어야 합니다. iOS 앱에서 FCM을 사용하려면 다음과 같은 단계를 따라야 합니다.

  1. Firebase 프로젝트 설정:

    • Firebase 콘솔에서 프로젝트를 생성하고 앱을 추가합니다.
    • iOS 앱을 추가할 때, GoogleService-Info.plist 파일을 다운로드하고 프로젝트에 추가합니다.
  2. APNs 토큰 획득:

    • 앱을 APNs (Apple Push Notification service)와 연결하고 APNs 디바이스 토큰을 얻어야 합니다. 이는 사용자의 기기가 푸시 알림을 수신할 준비가 되어 있는지 확인하는 단계입니다.
  3. FCM 초기화:

    • 앱의 AppDelegate에서 FCM을 초기화합니다. GoogleService-Info.plist 파일을 사용하여 초기화하고 APNs 토큰을 FCM에 등록합니다.
  4. 푸시 알림 처리:

    • FCM에서 보낸 푸시 알림을 처리할 수 있는 코드를 작성합니다. 이 코드는 푸시 알림이 포그라운드 또는 백그라운드에서 수신될 때 실행됩니다.
  5. FCM 메시지 포맷:

    • FCM 메시지를 보낼 때 iOS 앱에 적합한 포맷으로 메시지를 구성해야 합니다. iOS의 경우 notification 필드는 사용자에게 보여지는 알림으로 사용되며, data 필드는 앱 내에서 추가 작업을 수행하기 위한 사용자 정의 데이터를 포함합니다.

아래는 iOS 앱에서 FCM 메시지를 처리하는 코드 예제입니다:

import Firebase

// AppDelegate.swift
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        FirebaseApp.configure()
        
        // Register for remote notifications
        application.registerForRemoteNotifications()
        
        return true
    }
    
    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        Messaging.messaging().apnsToken = deviceToken
    }
    
    // Handle FCM messages when the app is in the foreground
    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
        // Process the received notification
    }
    
    // Handle FCM messages when the app is in the background or not running
    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
        // Process the received notification
        completionHandler(.newData)
    }
}` 

위의 코드 예제는 Swift를 기반으로 한 것이며, Objective-C를 사용하는 경우에도 유사한 작업을 수행해야 합니다.

앱에서 FCM 메시지를 정확하게 처리하려면 Firebase 공식 문서 및 iOS 개발 가이드를 참고하여 설정 및 코드를 구현해야 합니다. iOS 앱의 설정 및 FCM 통합에 대한 자세한 정보는 Firebase 공식 문서와 iOS 개발 가이드를 참고하시기 바랍니다.