@ikeer99: https://grapheneos.org/faq#notifications > FairEmail and Signal are examples of apps using the proper approach of a foreground service combined with an optional battery optimization exception. Signal doesn't have an optimized implementation throttling the polling used to keep the connection alive, but it does work well. Signal always uses their own push implementation in the foreground, but switches to FCM in the background when it's available. FairEmail uses the IMAP IDLE push feature provided by email servers. Most email servers don't provide FCM-based push in the first place, and the only way for an email app to provide push via FCM would be to give the user's credentials to their own server to act as a middleman.