일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ui
- Python
- ios
- PyQt5
- 개발자
- Android
- graph
- PyQt
- Chrats
- 그래프
- UIKit
- 어플리케이션
- library
- UIButton
- Apple
- 라이브러리
- 개발
- button
- Swift
- UITableView
- alamofire
- Chart
- Storyboard
- cocoapods
- TableView
- charts
- kotlin
- Xcode
- modal
- androidstudio
Archives
- Today
- Total
Jiwift
[Python] FCM Topic(주제)을 이용한 Push Notification 메세지 전송 본문
반응형
[Python] FCM Topic(주제)을 이용한 Push Notification 메세지 전송
Push Notification을 받을 수 있는 웹, 앱 환경이 필요합니다.
순서
1. 비공개 키 생성
2. 라이브러리 설치
3. 코드 작성
4. 실행
파이어베이스 프로젝트 설정에 들어갑니다.
[서비스 계정 -> Python -> 새 비공개 키 생성]을 순서대로 눌러줍니다. 그럼 json 파일을 하나 다운을 받을겁니다.
Python 파일과 비공개 키 json 파일을 원하는 위치에 준비시킵니다.
pip install firebase_admin
python 필요 라이브러리를 설치해줍니다.
import firebase_admin
from firebase_admin import credentials
from firebase_admin import messaging
# Firebase Admin SDK를 초기화합니다.
cred = credentials.Certificate('fcmtopic-4de00-firebase-adminsdk-bvhdw-44f215875f.json')
firebase_admin.initialize_app(cred)
# The topic name can be optionally prefixed with "/topics/".
topic = 'kimjitae'
# See documentation on defining a message payload.
message = messaging.Message(
notification=messaging.Notification(
title='이것이 Topic',
body='이것이 토픽 내용이구나~'
),
data={
'subtitle': '부제목',
'screen': '4',
},
topic=topic,
)
# Send a message to the devices subscribed to the provided topic.
response = messaging.send(message)
# Response is a message ID string.
print('Successfully sent message:', response)
메세지 내용을 작성하는 방법은 검색해서 다양하게 연습해보세요.
위 코드에서
# cred = credentials.Certificate('비공개키 파일 경로')
cred = credentials.Certificate('fcmtopic-4de00-firebase-adminsdk-bvhdw-4875f.json')
이 부분은 파이어베이스 콘솔에서 받은 비공개키 파일을 입력해줍니다. 코드와 비공개키 경로를 다르게 두었다면, 경로까지 다 입력합니다.
# topic = '토픽 이름'
topic = 'kimjitae'
이 부분은 FCM Topic을 입력합니다.
유저별 FCM 토큰을 사용하는 상황이 아닌 주제별로 전체 발송을 한다면 편리한 기능입니다.
만약 청소년들에게만 메세지를 전송하는 경우 유저 DB에서 청소년들을 찾고 토큰을 Select하는 것 보다 그냥 청소년 Topic을 구독한 사용자들에게만 메세지를 전송한다면 한줄이면 끝입니다.
반응형
'다른 개발 > Python' 카테고리의 다른 글
[Python] FCM Token을 이용한 Push Notification 메세지 전송 (0) | 2023.06.10 |
---|---|
[Python] PyTest 설치와 간단한 실행 (0) | 2022.12.31 |
[Python/PyQt] 버튼 pressed 마우스 눌렀을 때 색 변경 (0) | 2022.12.31 |
[Python/PyQt] 버튼 hover 마우스 올렸을 때 색 변경 (0) | 2022.12.31 |
[Python/PyQt] 위젯 선 종류 / border-style (0) | 2022.12.31 |