Hi guys basically as the title says. I have a pixel phone running GrapheneOS and I really don’t want to install Play Services. Is there an alternative for me? I need reliable notifications for Telegram and signal. Edit: Thank you all amazing people for helping I learned alot and found best setup for me
FYI for the other commenters, UnifiedPush can work thru the Prosody
mod_unified_push
or any server with aup
where Conversations (& its forks like Cheogram, Monocles, Blabber) can be a distributor. This has the added bonus of coming with an awesome decentralized XMPP chat server getting to reuse a single connection & single app to server instead of separate ones. Conversations is the most efficient chat client on Android in terms of resources (battery, network, RAM) so might as well keep it lightweight—which you are probably trying to get push notifications from the likes of Signal or Element, but what is the point when you have an efficient XMPP server for your chat needs?However, I think UnifiedPush might be a bit flawed—as if the startup that created ntfy is pushing others to try to adopt their standard instead of getting folks on board with the older & capable MQTT (which also can be ran thru
mod_mqtt
on your XMPP server). I am not yet sure if this is a tinfoil take or not.Why do you not want play services on grapheneos? Doesn’t the sandboxing remove any issues with it?
Please update what you chose then, to help the next person.
I went with ntfy.sh and installed molly and mercurygram.
Good choices. I take this a step further and bridge IRC, Signal, Gvoice, and WhatsApp from a plugged in device or container to Matrix. Then use ntfy for Matrix notifications. This gives me notifications for all of them in Matrix/Element and thus through ntfy.
Example: Instead of Molly I use
mautrix-signal
bridge as the device and it feeds messages into Matrix.There’s also a Telegram bridge: https://matrix.org/ecosystem/bridges/telegram/
nfty for applications that support it. your only other choice is microg
your only other choice is microg
Doesn’t work on GrapheneOS, since it requires root access for signature spoofing. And it’s not any better than Sandboxed play services.
Are you talking about ntfy? And if so, could you give more context? I run a self-hosted ntfy and am thinking of switching to GOS.
I believe they’re referring to microg. Never used ntfy so I’m not too sure.
You’re damn right
Sorry, forgot to include a blockquote. I was talking about microG. Ntfy is a regular user-installable app, you just need to grant it permission to run in the background, i.e. disable battery optimization.
Most libre applications implement their own websockets for this. EDIT: some propriety spyware like WhatsApp use those too, can confirm myself, as I unfortunately have to use it on my GrapheneOS owner profile (which ofc doesn’t have the sandboxed GPlay services installed; I could technically use it on my profile for personal proprietary apps, but it would be a major pita) ENDEDIT
(unfortunately Proton uses only Google FCM in most of their apps and doesn’t publish them on F-Droid or Accrescent)However, those can take a strain on your battery since every websocket maintains it’s own connection.
This is where UnifiedPush in combination with either nfty or Sunup comes in
(EDIT: I use ntfy myself, also Sunup seems to be quite new, so it might come with some quirks; EDITEND there is also a plugin for your own Nextcloud)Since Unifiedpush maintains only one connection for every app using it, this takes quite a bit less charge to upkeep
(it’s explained quite well on their website, which is hyperlinked)If you are looking for Unifiedpush support on Signal: Molly is a hardened fork of the client and does support it through Mollysocket
EDIT: If you use Telegram there is Mercurygram. As for Matrix clients, I use Element and Schildichat. All these support UnifiedPush
Thanks for your awesome advice.
Happy to help :)
(especially when it comes awesome libre software :p)
Spot on response!
Just a note: in my experience Mercurygram with ntfy is terribly unreliable, with notifications coming in days later, so I personally ended up enabling its background service anyways, it doesn’t look like it’s taking up much battery at leastThx for the kind words!
I left the background service on for all the messengers, it’s not like the Unifiedpush ones have anything major to use anyway. This increased the reliability and peace of mind + they never show up as major battery users for me either
You mean unrestricted battery usage? If so, I don’t exactly understand how it differs from keeping the unifiedpush integration off and relying on the app, does it make it so that it’s only “ready” to be triggered by ntfy when it would otherwise poll the server on its own very frequently (so you end up actually saving some battery)?
does it make it so that it’s only “ready” to be triggered by ntfy when it would otherwise poll the server on its own very frequently (so you end up actually saving some battery)?
That’s how I understand it, yes. You change the behaviour of the app by configuring it to use UnifiedPush, so there is less background usage to “restrict”
I see, that makes sense
I’m using Molly with UnifiedPush for notifications and it works quite well.
So you have set it up over Mollysocket? Do you use your own or a remote instance?
I just haven’t got around to setting it up myself yet… (+ I don’t have my own server yet, so I can’t self host :/)
Yeah, in self hosting MollySocket and my own Ntfy server. I’m in the process of moving it all to my NAS so I don’t have to leave my computer on all the time.
I really wish Signal would support it natively.
it’s rly cool that you’re self hosting this stuff! though I can imagine running your PC 24/7 just for that is quite annoying
also yeah, upstream support for UnifiedPush in the clients for both Signal and Telegram would be great…
But I can imagine that it’s not rly a priority for them.
(I’m not actually skilled enough (yet) to help implement that though either)
Only thing I have a problem with right now is proton mail. Hopefully soon they will be implementing notifications that don’t rely on google play (they said they are working on it)
I don’t know about Telegram, but I know, at least with Signal, it should work with web sockets, and allow you to get notifications that way. At least that’s how I get my notifications on Molly, which is a fork of signal. While not many applications support it, you might also look into UnifiedPush and ntfy which is a UP app from F-Droid.
Telegram just sits in the background and works, I don’t understand OP’s problem. The only downside compared to gplay version is that there’s a persistent notification.
Yeah, Molly does the same thing and doesn’t cause me any problems.
I use ntfy from fdroid
It depends for what Apps you need them. Often Apps like Signal or Element support getting Notifications via a persistent Server connection or asking every so often for Notifications. Even tho i could not find any source, i found that this works with Whatsapp(sadly have to use it) too.
So it’s either a persistent notification or allowing the app to constantly running in the background. Does it have a significant battery impact?
On my device, I let the app just constantly hang out in the background with a persistent notification that I have turned off, but it does not have a significant battery impact for me at all. So your mileage may vary. Some people say that it has significant impact, and some people like me, it doesn’t impact hardly at all.
yes, it has a “significant” impact on battery. i don’t know why the other comment claims otherwise.
it’s worth it for me, so i accept that “impact”.
Signal uses 2% a day and Element 1%. I do not really think this is significant.
For some people it doesn’t, and for others it does. So your mileage may vary. For example, with me, I have seen no significant battery impact, and I’ve been running it this way for several years.
Doesn’t have a significant impact. Using Telegram (though third party OSS client called Forkgram) and Signal without Play services on pixel as well.
as I know its the persistent notification (that you can hide on most phones, but do not swipe away) is what lets it run in the background
Depends on the App but generally no.
It depends. Some apps have their push notifications system but may consume more battery.
You should list what apps
You’re right I need reliable notifications for Telegram and signal
There’s a fork of Telegram on F-droid called “Telegram FOSS” that runs a background service for notifications. I’ve used it and the effect on battery drain is pretty minor, like maybe 2% per charge. Not sure if something similar exists for Signal.
I use MicroG on my phone, it’s a basic FOSS replacement for GMS and makes push notifications work for all apps. It gets push notifs from Google’s servers but you don’t need an account. It doesn’t use Google at all for location, which is nice as that’s a highly invasive aspect of Play Services. Not all ROMs are compatible with it, I use it on Lineage
I use MicroG on my phone, it’s a basic FOSS replacement for GMS and makes push notifications work for all apps. It gets push notifs from Google’s servers but you don’t need an account. It doesn’t use Google at all for location, which is nice as that’s a highly invasive aspect of Play Services. Not all ROMs are compatible with it, I use it on Lineage
Does it work with WhatsApp? Its the only app that drains my battery like crazy. I had it installed but didn’t work
It’s a drop-in replacement so it should provide push notifications and location functionality just fine for every app. Other functionality such as IAPs will probably be unsupported.
From the data I see on Plexus for WhatsApp, the core functionality and notifications work just fine on MicroG, but backing up chats to Google Drive is broken.
Then I’m just unlucky because it didn’t work for me, no push notifications
What ROM are you using? MicroG depends on a ROM feature called “signature spoofing” that allows it to impersonate the Play Services apps.
GrapheneOS
Telegram X works for me
Signal does its own notifications
Very badly
Yea but it drains my battery
I personally like using UnifiedPush wherever possible. You install an app to serve notifications (I use ntfy.sh), then install applications which support the standard. Usually they have a setting to toggle unified push which should register them with ntfy, then you’re golden. Obviously this is limited to a small group of apps but support is growing, and where it’s present it’s fantastic.
For Signal, use F-Droid and add the repoaitory for Langis which runs without communicating with Google servers, and notifications for Langis are immediate, without a delay.
In F-Droid have a look at Forkgram and Telegram FOSS as a solution.
I can recommend Molly for Signal and Mercurygram for Telegram. Both support UnifiedPush too!
Wtf would you want that for?
The irony of using a Google Pixel and degoogling it for use
I don’t know, if your goal is security Pixels have the best hardware and GrapheneOS the best software. It makes a lot of sense.
Sure, but it’s still ironic. I’m not saying that it’s a bad thing to buy a Google device just to degoogle it, but I think that does fit the definition of irony.
It’s truly ironic, but its really a good choice, if you don’t care about repairability and removable battery
Holy shit I just commented it was ironic, didn’t even say it was bad or good and I got 12 down votes? I suppose the reddit hivemind mentality carries over to Lemmy as well
that, or bots. Apparently it’s possible to view the list of downvoters, somehow (like through mbin I think), so you may be able to check what sort of content do they post, if any