The application, which allows users to add a pin on a map to show where ICE agents have recently been spotted, has climbed to the to the top of the App Store charts.
It’s actually not possible to build a push service like FCM or APNS on Android and have it function at the same level as FCM. FCM has special permissions to bypass certain device states on the device to ensure message delivery that nothing else can match.
The best you can do is approximate it with an always active websocket and a foreground service always running with battery optimizations disabled, but good luck not having that foreground service shut down on occasion as well. Devices are hostile to them for battery saving purposes. You’d have the best luck with a Pixel device though for something like that. You could also do some sort of scheduled background polling, but the device can be hostile to that as well, and it would eat more battery.
Yes, I used web sockets for Signal for a while. It drained 30% of my battery when the phone sat idle for a day. Absolutely bonkers. Made the phone almost unusable so had to revert to FCM or disable notifications.
It’s actually not possible to build a push service like FCM or APNS on Android and have it function at the same level as FCM. FCM has special permissions to bypass certain device states on the device to ensure message delivery that nothing else can match.
The best you can do is approximate it with an always active websocket and a foreground service always running with battery optimizations disabled, but good luck not having that foreground service shut down on occasion as well. Devices are hostile to them for battery saving purposes. You’d have the best luck with a Pixel device though for something like that. You could also do some sort of scheduled background polling, but the device can be hostile to that as well, and it would eat more battery.
Yes, I used web sockets for Signal for a while. It drained 30% of my battery when the phone sat idle for a day. Absolutely bonkers. Made the phone almost unusable so had to revert to FCM or disable notifications.