Share My Creation FCM Push Sender Desktop to Multiple Apps

Send notifications to multiple apps without changing the code. (For using with B4J or Python with App Windows executable.

It's completely open-source and I'm looking for developers of all levels to help me improve it, fix bugs, or even suggest new features. It's a great project for anyone wanting to practice [Tecnologia] or get started with open-source! 🚀

Check out the Project Public Repository here:

https://github.com/aidoluiz/fcm-push-sender-public.git

1783998332728.png

FCM Push Sender​

A desktop application to send Firebase Cloud Messaging (FCM) push notifications directly from your computer, available in two versions: Python (PyQt6) or B4J (JavaFX).

Features​

  • Send push notifications via Firebase Cloud Messaging (FCM v1 API)
  • Support for Android and iOS platforms
  • Configure Android priority (high / normal)
  • Set iOS badge value (0-5)
  • Toggle alert sound on/off
  • Reset badge on iOS device (silent background notification)
  • View the exact JSON payload sent to FCM in real time
  • Multiple apps with individual Firebase credentials

Requirements​


B4J Version​

  • B4J (free)
  • Java 8+
  • Required JARs listed in PushNotification.b4j

Python Version​

  • Python 3.10+
  • PyQt6, google-auth, requests
pip install -r Python/requirements.txt

Setup​

  1. Create a Firebase project at console.firebase.google.com
  2. Get service account credentials: Project Settings > Service Accounts > Generate New Private Key
  3. Configure the apps in the source code:
APPS = [
{"name": "Android - MyApp", "platform": "Android",
"project": "your-project-id", "key_path": "/path/to/key.json"},
]

Usage​

Run the Python version:

python Python/pushnotification.py

Or open PushNotification.b4j in B4J and press F5.

  1. Select the App
  2. Enter Topic (default: teste12345), Title, and Message
  3. Adjust Android Priority, iOS Badge, and Sound
  4. Click Send notification
  5. Check the status and JSON payload preview
For iOS, the ios_ prefix is added automatically to the topic.

Compile Python Executable​

pip install pyinstaller
cd Python
pyinstaller --onefile --noconsole pushnotification.py --name PushNotification

Project Structure​

PushNotification.b4j # B4J project
PushNotification.b4j.meta
Files/MainPage.bjl # B4J form layout
Python/pushnotification.py # Python implementation
Python/requirements.txt # Python dependencies
.gitignore
README.md


License​

Unlicense
 
Last edited:
Top