While setting up Mattermost, we successfully configured the push-proxy with iOS notifications and our own signed copy of the iOS app. However, for Android, we realize that we need to change the ServerID to match the Google Project ID for GCM-based notifications to work. Tracing through the code, the ServerID is set from the DIAGNOSTIC_ID, which in turn is a random id generated by a call to model.newID().
So we are befuddled how the ServerID (and the resulting DeviceID sent in GCM calls) would ever match the project keys generated through the Google Console. The only thing we can think of our forcing an update to the DiagnosticID (updating the Systems table where name=“DiagnosticID”).
FYI: We know that it is a SenderID issue as we modified push-proxy to give us some diagnostic information, and when we directly call it with the Mattermost ServerID and DeviceID, GCM accepts the message, but gives us the error: