본문 바로가기
Python

iOS, Android에서 firebase-admin을 통해 FCM 푸시 알림 보내기

by devlect 2024. 2. 7.

Android

import firebase_admin
from firebase_admin import credentials, messaging

# Firebase 프로젝트의 서비스 계정 키 파일로 Firebase Admin 초기화
cred = credentials.Certificate('path/to/fcm-signkey.json')
firebase_admin.initialize_app(cred)

# 메시지 정의
message = messaging.Message(
    data={
        'score': '850',
        'time': '2:45',
    },
    notification=messaging.Notification(
        title='Match update',
        body='Arsenal vs Chelsea',
    ),
    android=messaging.AndroidConfig(
        priority='high',  # 우선순위 설정: 'high' 또는 'normal'
        notification=messaging.AndroidNotification(
            icon='stock_ticker_update',
            color='#f45342'
        ),
    ),
    token='recipient_device_token',
)

# 메시지 보내기
response = messaging.send(message)
print('Successfully sent message:', response)

iOS

import firebase_admin
from firebase_admin import credentials, messaging

# Firebase 초기화
if not firebase_admin._apps:
    cred = credentials.Certificate('path/to/your/fcm-signkey.json')
    firebase_admin.initialize_app(cred)

# APNs 설정을 포함한 메시지 정의
message = messaging.Message(
    notification=messaging.Notification(
        title='Match update',
        body='Arsenal vs Chelsea',
    ),
    apns=messaging.APNSConfig(
        headers={
            'apns-priority': '10',  # '10'은 즉시 배달, '5'는 전력 효율적 배달
        },
        payload=messaging.APNSPayload(
            aps=messaging.Aps(
                alert=messaging.ApsAlert(
                    title='Match update',
                    body='Arsenal vs Chelsea',
                ),
                sound='default',
            ),
        ),
    ),
    token='recipient_device_token',
)

# 메시지 보내기
response = messaging.send(message)
print('Successfully sent message:', response)

 

댓글