[swift] Alamofire를 이용한 앱 푸시 메시지 송신 처리하기

G로 외부 서버와 통신하는데 사용되는 Alamofire 라이브러리는 앱 개발에서 많은 유용성을 제공합니다. 이번 포스트에서는 Alamofire를 이용하여 앱 푸시 메시지를 송신하는 방법에 대해 알아보겠습니다.

Alamofire 설치하기

먼저, Alamofire를 설치해야 합니다. 이를 위해 CocoaPods를 사용할 것입니다. Podfile에 Alamofire를 추가하고 아래 명령어를 통해 설치할 수 있습니다.

# Podfile
target 'YourApp' do
  use_frameworks!
  pod 'Alamofire'
end
$ pod install

FCM 서버에 푸시 메시지 요청하기

FCM(파이어베이스 클라우드 메시징)은 앱에서 푸시 알림을 빠르게 전송하는 서비스입니다. 이를 사용하기 위해 FCM 서버에 푸시 메시지를 요청해야 합니다. Alamofire를 사용하여 POST 요청을 보내는 예제 코드는 다음과 같습니다.

import Alamofire

func sendPushNotification() {
    let headers: HTTPHeaders = [
        "Authorization": "Bearer YOUR_FCM_SERVER_KEY",
        "Content-Type": "application/json"
    ]

    let parameters: Parameters = [
        "notification": [
            "title": "Hello",
            "body": "This is a push notification"
        ],
        "to": "YOUR_FCM_DEVICE_TOKEN"
    ]

    Alamofire.request("https://fcm.googleapis.com/fcm/send", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers)
        .responseJSON { response in
            debugPrint(response)
        }
}

YOUR_FCM_SERVER_KEYYOUR_FCM_DEVICE_TOKEN은 각각 FCM 서버 키와 디바이스 토큰으로 대체되어야 합니다. 이 값을 FCM 콘솔에서 확인할 수 있습니다. titlebody는 푸시 알림의 제목과 본문을 설정하는 속성입니다.

실행하고 응답 확인하기

위의 코드를 실행하면 FCM 서버에 푸시 메시지 요청이 전송됩니다. 응답은 response 매개변수를 통해 확인할 수 있습니다. 응답 내역을 출력하기 위해 responseJSON 대신 responseData 또는 responseString 등의 메서드를 사용할 수도 있습니다.

.debugPrint(response)

또는

.print(response)

위의 코드를 사용하여 응답 내역을 콘솔 창에 출력할 수 있습니다.

결론

이제 Alamofire를 이용하여 앱에서 푸시 메시지를 송신하는 방법을 알게 되었습니다. FCM 서버에 올바른 요청을 보내고 응답을 확인하여 원하는 알림을 사용자에게 전송할 수 있습니다. Alamofire는 간편한 API와 편리한 기능으로 앱 개발을 도와주므로, 다른 네트워크 작업을 처리할 때에도 적극적으로 활용해보세요.

참고 자료: