Async Firebase Client - a Python asyncio client to interact with Firebase Cloud Messaging.
Project description
async-firebase is a lightweight asynchronous client to interact with Firebase Cloud Messaging for sending push notification to Android and iOS devices
- Free software: MIT license
- Requires: Python 3.6+
Features
- Extremely lightweight and does not rely on
firebase-admin
which is hefty - Send push notifications to Android and iOS devices
- Set TTL (time to live) for notifications
- Set priority for notifications
- Set collapse-key for notifications
- Dry-run mode for testing purpose
Installation
$ pip install async-firebase
Getting started
To send push notification to either Android or iOS device:
import asyncio
from async_firebase import AsyncFirebaseClient
async def main():
client = AsyncFirebaseClient()
client.creds_from_service_account_file("secret-store/mobile-app-79225efac4bb.json")
# or using dictionary object
# client.creds_from_service_account_info({...}})
device_token = "..."
response = await client.push(
device_token=device_token,
notification_title="Store Changes",
notification_body="Recent store changes",
notification_data={
"discount": "15%",
"key_1": "value_1"
},
priority="normal",
apns_topic="store-updates",
collapse_key="push",
alert_text="test-alert",
category="test-category",
badge=1,
)
print(response)
if __name__ == "__main__":
asyncio.run(main())
This prints:
{"name": "projects/mobile-app/messages/0:2367799010922733%7606eb557606ebff"}
License
async-firebase
is offered under the MIT license.
Source code
The latest developer version is available in a GitHub repository: https://github.com/healthjoy/async-firebase
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
async-firebase-0.3.0.tar.gz
(8.8 kB
view hashes)
Built Distribution
Close
Hashes for async_firebase-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7315ed1a5c6c3b84577c9430acdc54d6954af7f71e1a2f3f75759183691d5f00 |
|
MD5 | ece8cce34f514cd24745f04fbad0fc7d |
|
BLAKE2b-256 | d9ef0a0dced93f560a4dac97cd6ee9d734b2e351a014880cd0e27e9ae2869517 |