问题
I have been banging my head on this for days. I am able to register my phone just fine with GCM, and send a message from the server side to Google. With Google's diagnostics this is easier than ever to confirm:

However, the message is not getting sent to my phone. According to the diagnostics page and docs, the status will change to "Delivered" once the phone is online and the message can be retrieved, however, this is never happening. All the tutorials out there don't help with this problem and I'm not even sure how to go about debugging this. Please help!
UPDATE - 6/9/2015 I have discovered that the device token that is being used to send this message is not the one that the phone currently has. I have since implemented a better system to update the token ID correctly. From what I understand, GCM should be able to tell me that a given device token is no longer valid, but clearly that is not happening here as I am getting back OK responses with a message ID. It was queueing up messages for a token that no longer exists (i.e. the app was uninstalled and re-installed). Is this expected behavior? Is there a way for the app server to know that this token is no longer valid?
来源:https://stackoverflow.com/questions/30717950/what-are-some-ways-of-troubleshooting-gcm-after-message-gets-to-googles-servers