Fix the bug: can not receive the GCM message.
Actually, the original code has no problem, and it can really receive the GCM message, but the messageType = "send_event" (set by GCM server), which is not consistent with Android doc.
Android doc says the messageType should be "gcm" (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE https://developer.android.com/google/gcm/client.html#sample-receive). Therefore, when the GCM message received, it was considered invalid and just ignored. I don't know why the messageType is wrong, is it a Google bug ?

I have fixed this issue simply by disabling the messageType checking, now I can receive the GCM message properly every time.