A library to subscribe to GCM/FCM and receive notifications within a python application.
- I want to receive push notifications sent using Firebase Cloud Messaging in a python application.
- I want to send push notifications (use the firebase SDK instead)
- My application is running on a FCM supported platform (Android, iOS, Web).
PyPi:
$ pip install firebase-messaging
- Firebase configuration to receive notifications
Must be run inside an asyncio event loop.
python:
from firebase_messaging import FcmPushClient, FcmRegisterConfig def on_notification(obj, notification, data_message): # Do something with the notification pass credentials = None # Start off with none or load from previous save def on_credentials_updated(creds): # save the credentials to a file here for future use fcm_config = FcmRegisterConfig(fcm-project-id, fcm-app-id, fcm-api-key, fcm-message-sender-id) pc = FcmPushClient(on_notification, fcm_config, credentials, on_credentials_updated) fcm_token = await pc.checkin_or_register() await pc.start() # Adapt the following for your usage while some_condition_to_keep_listening: asyncio.sleep(2)
Code originally based on typescript/node implementation by Matthieu Lemoine. See this blog post for more details.
Converted to python by lolisamurai
http decryption logic in decrypt.py by Martin Thomson