[Feature Request] Granular GCM/FCM Push Delivery Control per App
- Dominant language
- Java
- Stars
- 14.6k
- Forks
- 3.2k
- PR merge metrics
- PR metrics pending
Description
Currently, microG handles Google Cloud Messaging (GCM/FCM) globally based on the heartbeat interval. While this works well, users have no way to prioritize which apps are allowed to wake the device immediately and which ones can wait. Some non-essential apps (e.g., shopping apps, social media) frequently trigger pushes that drain battery, while others (e.g., messaging) are critical.
I suggest implementing a per-app delivery policy within the microG Settings -> Cloud Messaging section. This would allow users to choose between:
Immediate: Default behavior (push delivered as soon as it's received).
Delayed/Batched: The push is received but notification/intent delivery is delayed until the next system-wide heartbeat or when the screen is turned on.
Quiet Hours: A schedule to disable push delivery for specific apps during the night without turning off GCM entirely.
Describe alternatives you've considered
Turning off GCM per app: Too radical, as you might miss important (though not urgent) updates.
Android's built-in "Battery Optimization": Often unreliable and can lead to apps being killed entirely rather than just managing the push incoming stream.
Additional context
This feature would significantly enhance microG's reputation as a privacy and battery-focused alternative to standard Play Services. It gives the user "Pro" control over their device's standby time.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the microG Settings → Cloud Messaging section and the existing GCM/FCM heartbeat behavior described in the issue. Work out how per-app Immediate, Delayed/Batched, and Quiet Hours policies should interact with push delivery, then verify that critical apps can remain immediate while other apps are deferred or suppressed on schedule.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, firebase, java
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100