whew-zee also don't understand why Google Services would ever be necessary for something as simple as push notifications.
very common in android apps, unfortunately. The whole deal with "push" notifications is that the server should "push" a message to the client instead of having the client periodically poll the server. There are two main ways that this is implemented:
Each app always runs in the background and maintains a connection to the server, allowing the server to send new data whenever. For example, Signal does this when google play services are not installed. This may reduce battery life and generally use more resources since every app doing this runs in the background all the time.
Much more common is using Google's Firebase Cloud Messaging (FCM). With this, the server sends messages over Firebase and client apps interact with Google Play Services so that the messages get delivered to the app. This way, most apps do not need to constantly run in the background and instead get waken up whenever Google Play Services has a message for them. Google Play Services will maintain a connection to Firebase servers to allow receiving messages.
Unified Push is an attempt of doing something like number 2 but without locking into google stuff.
whew-zee Does anyone know a way around this?
I have a crazy idea, but I've never tried it. Proton Mail has an option of sending a notification email to another email address whenever you receive an email. I assume it won't send full email contents but rather just limited metadata (PGP-encrypted emails still expose the subject, sender, and recipients anyway), so it shouldn't leak much. Then, if you can find a client that supports notifications for this email, then you can just check protonmail whenever you receive an email there. Most clients that don't use google play services would rely on polling or background connections though. For proper push notificaitons, it would be great to have an email accessible with JMAP and a setup using unified push + JMAP Push to deliver notifications. Supposedly, ltt.rs added push support recently, so it should work? But then there's this issue so idk.