Preview/Draft

Sometimes I like to fire off information without making it pretty in hopes it will help someone struggling with an issue.  So… I apologize up-front for the brevity of this post and promise to incorporate it into a larger troubleshooting blog when I get a chance to breathe Smile

Issue

I confirmed Windows Azure Mobile Services was able to communicate with GCM (Google Cloud Messaging) and had no errors sending the notification to GCM.  But how could I see how this got or didn’t get to my Android Emulator?

Server side

I was able to confirm that there were no errors by dumping out the result of doing a push.gcm.send using this script (from our tutorial):

push.gcm.send(item.handle, item.text, {
    success: function (response) {
        console.log('Push notification sent: ', response);
    }, error: function (error) {
        console.log('Error sending push notification: ', error);
    }
});

And opening the LOGS tab saw this result:

Push notification sent: {
multicast_id: 4877295250689814000,
success: 1,
failure: 0,
canonical_ids: 0,
results: [
{ message_id: '0:1392395679428889%0d284a0ef9fd7ecd' } ], invalidIds: [], updatedIds: {} }

So how to see what if anything is happening on the client?  The message_id looks promising!

Client side

Running the program from Eclipse and ensuring Log Cat is running I was able to confirm that I am getting the message from the GCM service!

02-14 11:34:39.769: I/GCM(624): GCM message com.example.jsanderspushgcm 0:1392395679428889%0d284a0ef9fd7ecd

I clicked on the message to set up a verbose filter for GCM:

image

And now I can easily filter and see what GCM logs are showing me!

Conclusion

I could also use fiddler as a proxy to see network traffic but with a little logging and knowledge of the available server and client side tools, was able to correlate the GCM messages quickly!

Let me know if this was useful to you!