[파이썬] Flask를 이용한 푸시 알림 처리

푸시 알림은 모바일 애플리케이션에서 중요한 정보를 사용자에게 알리는 데 사용되는 강력한 도구입니다. Flask는 파이썬 웹 프레임워크로, 간편한 구현과 확장성을 제공하여 푸시 알림 처리를 쉽게 할 수 있습니다.

이 블로그 게시물에서, Flask를 사용하여 푸시 알림을 처리하는 방법을 살펴보겠습니다.

필수 패키지 설치

먼저, Flask 및 필수 패키지를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.

pip install flask
pip install pyfcm

Flask 앱 설정

Flask 애플리케이션을 설정하는 것으로 시작합니다. 다음과 같이 간단한 Flask 앱을 만들 수 있습니다.

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Welcome to the Push Notification App!"

if __name__ == '__main__':
    app.run()

FCM (Firebase Cloud Messaging) 설정

Firebase Cloud Messaging (FCM)은 푸시 알림을 전송하기 위한 Google의 클라우드 메시징 서비스입니다. FCM을 사용하기 위해서는 프로젝트를 생성하고 FCM 서버 키를 얻어야 합니다.

  1. Firebase 콘솔에 접속하고 새 프로젝트를 만듭니다.
  2. 프로젝트 설정으로 이동하여 “서비스 계정” 탭을 선택한 후, “새 비공개 키”를 생성합니다.
  3. 생성된 비공개 키를 사용하여 FCM 서버 키를 가져옵니다.

푸시 알림 처리

이제 앱에서 푸시 알림을 처리할 준비가 되었습니다. 다음과 같이 push_notifications.py라는 새로운 파일을 생성합니다.

from pyfcm import FCMNotification

# FCM 서버 키
fcm_server_key = "YOUR_FCM_SERVER_KEY"

def send_push_notification(device_token, title, message):
    push_service = FCMNotification(api_key=fcm_server_key)

    registration_id = device_token
    message_title = title
    message_body = message

    result = push_service.notify_single_device(registration_id=registration_id,
                                              message_title=message_title,
                                              message_body=message_body)

    return result

위의 코드에서 YOUR_FCM_SERVER_KEY를 Firebase에서 받은 FCM 서버 키로 변경해야 합니다.

Flask 라우트에 푸시 알림 적용

이제 Flask 앱의 라우트에 푸시 알림을 적용해 보겠습니다. 다음과 같이 코드를 수정합니다.

from flask import Flask
from push_notifications import send_push_notification

app = Flask(__name__)

@app.route('/')
def home():
    return "Welcome to the Push Notification App!"

@app.route('/send-notification')
def send_notification():
    device_token = "DEVICE_TOKEN"
    title = "New Notification"
    message = "You have a new notification!"

    result = send_push_notification(device_token, title, message)

    return result

if __name__ == '__main__':
    app.run()

위의 코드에서 DEVICE_TOKEN은 실제 디바이스의 푸시 알림 수신을 위한 토큰으로 변경해야 합니다.

이제 http://localhost:5000/send-notification에 접속하면 해당 장치로 푸시 알림이 전송됩니다.

결론

Flask를 사용하면 파이썬으로 푸시 알림을 처리하기가 쉬워집니다. 이 블로그 게시물에서는 Flask를 이용하여 푸시 알림을 처리하는 방법에 대해 알아보았습니다. 푸시 알림은 앱 사용자들에게 중요한 정보를 제공하는 강력한 도구이므로, Flask와 FCM을 이용하여 알림 기능을 간단하게 구현할 수 있습니다.