July 20, 2019 update. Found out that I was passing an array into the Parameters dictionary as one of the fields. Depending on the version of GCM, this can create very unpredictable results on a real device. The the results of passing the array ranged...