Signal requires GPS for push, too, but if GPS isn't available, it uses persistent notifications to stay "active". It uses a bit more battery, theoretically, but I really haven't noticed a difference.
Ah, ok, cool! I'm just so used to using cli adb, I didn't even think to search for another solution. I'm glad more exist!