| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 1381 |
| Technical Name |
sadeem_mobile_notification |
| License | LGPL-3 |
| Website | https://www.sadeem.cloud |
Sadeem Mobile Notification Push Notification Agent for Odoo â Supporting ntfy & Firebase Cloud Messaging
A standalone notification agent module for Odoo that enables
real-time push notifications to mobile devices and web browsers.
Supports ntfy (self-hosted) and Firebase Cloud Messaging (FCM)
Multi-company, rate limiting, device management, and full logging built-in.
Core Features
Multi-Provider Support
Choose between ntfy (self-hosted) and FCM (Firebase)
Switch providers per configuration
Multiple configurations per company
Seamless fallback between Legacy and v1 FCM API
Device Management
Auto-register devices via REST API
Track platform (Android, iOS, Web)
Device model, app version, OS version
Last seen & registration date tracking
Rate Limiting
Monthly notification limits per configuration
Auto-reset counter on new month
Manual reset button for admins
Prevents unexpected billing overages
Logging & Statistics
Full notification log with sent/failed status
Success rate percentage tracking
Color-coded log list (green/red)
Filter by date, status, user, config
Multi-Company
Separate configs per company
Default notification config in company settings
Company-based record rules
Full multi-company isolation
Security
Dedicated Notification Admin group
Sensitive fields (tokens, keys) restricted
Record rules for user-level isolation
CSRF-safe JSON API endpoints
Supported Providers
ntfy (Self-Hosted)
Free & open-source push notification server
Self-hosted or use ntfy.sh public server
No Google dependency
Supports: No auth, Token auth, Basic auth
Topic-based subscriptions
Firebase Cloud Messaging
Google FCM for Android, iOS & Web
Legacy HTTP API support
FCM v1 API with service account JSON
Device token-based targeting
Reliable delivery at scale
REST API Endpoints
Register Device
POST /sadeem/mobile/register_device
Register or update a mobile device
Auto-generate topic if not provided
Returns provider config & connection info
Unregister Device
POST /sadeem/mobile/unregister_device
Deactivate a registered device
User can only unregister own devices
Soft-delete (keeps history)
Test Notification
POST /sadeem/mobile/test_notification
Send test to all user's devices
Returns per-device success/failure
Great for debugging integration
Frequently Asked Questions
ntfy: Best for self-hosted environments, no Google dependency, free and open-source.
Great for internal apps and privacy-focused deployments.
FCM: Best for production mobile apps on Google Play / App Store.
Reliable, scalable, and widely supported by mobile SDKs.
For ntfy: No extra dependencies needed, uses standard HTTP requests.
For FCM v1 API: Requires the google-auth Python library.
The legacy FCM API works without extra dependencies.
Call the /sadeem/mobile/register_device endpoint from your app after user login. The response includes the provider type, server URL (ntfy) or project ID (FCM), and the topic to subscribe to. Your app then listens on that topic/token for incoming notifications.
Yes! You can create multiple notification configurations per company (e.g., one ntfy for internal alerts and one FCM for customer-facing apps). Set one as the default in company settings for API device registration.
Notifications will be blocked and logged as failed with a clear error message. The counter resets automatically at the start of each month, or admins can reset it manually. Set the limit to 0 for unlimited notifications.
About Sadeem
Sadeem is an Egyptian/Saudi company established in 2020 (formerly Digital X, rebranded to Sadeem in
2023).
We specialize in Odoo development, SaaS solutions, and cloud infrastructure management.
Please log in to comment on this module