> I'm going to create a socket connection to our own server instead. It's for internal users anyway, so they won't mind the battery drain.<p>Wait, what?<p>This is <i>why</i> this is such a hard process. You're doing something that you shouldn't do, and if apps were allowed to do this (like they were in the past), then battery drain would happen (like it did) and people would get angry and mis-attribute the problem (like you pointed out).<p>It's a <i>good</i> thing that this isn't allowed, and developers like this are why.<p>> Screw this. I'm going to tell my users to just use a laptop instead. At least those things work.<p>This is your real problem, you're trying to apply laptop paradigms to a phone. A phone != a laptop. Let me know when you get push notifications working while your laptop is sleeping.
At some point it becomes easier to send an email or text instead of a push notification, if ultimately that was the problem to begin with and it's an app for internal use only supposedly
Satire or not, I spent all day debugging very similar FCM issues, but under React Native. What looks like rate limiting can also be attributable to a wonky application lifecycle integration between RN/Android. What times we live in!