Jeff Sanders Technical Blog

I am a Microsoft employee that has worked on all aspects of the Web Stack for a long time. I hope these blogs are useful to you! Use this information at your own risk.


<< Go Back

How To Decode Event Viewer Logs To See What Tile Notification Data Is

- 13 Mar 2013

Using Push Notifications for my Windows Store app I needed to debug what message was being received for my Tile Notifications.  The payload however was just a hex blob and THAT wasn’t too useful.  Here is what I did to find the payload and see what was in it.

Using the Event Viewer you can enable (if it isn’t already) the Push Notifications logging.

To enable and view open the event viewer

To filter on the tile notification messages

        < /QueryList>   * Hit the ‘OK’ button **You now will have a list of the notifications sent and the payloads.** You can browse the notifications that have been received, but the ‘Payload’ is where the encoded tile data is. To view the payload click on an event and select the ‘Details’ tab and hit the ‘XML View’ radio button.  Then scroll down to the section and find the section.  That string is the message sent to windows! To decode the message you can use a public hex to string decoder or this handy Power Shell script.  Replace the string in ‘’ with the payload: \# paste Hex string you want to convert here $hexstring=’5469…’ \# size of char array $hexcharcount = $hexstring.Length \# position in hexstring $i = 0 $output=$null \# get every two chars and convert to ascii while ($i -le $hexcharcount -1) {     $output = $output + \[Char\]\[Convert\]::ToInt32($hexstring[$i] + $hexstring[$i + 1] ,16)      $i = $i + 2 } $output  Sample output: Time: 2013-03-13T14:12:20Z Channel: 1;17014027897125354927 Type: wns/tile Msg-Id: 107904C1BDA0828 ≈17 mi30% Intensity< text id="4">2% Area</text>≈17 mi< text id="2"></text>30% Intensity2% Area **So how do you find tile notifications just for your app?** Get your App identity from and search for it.  I use this tool from Fiddler.  Look for the Display name and you want to copy the ‘AC Name’ by clicking on the ‘AC Name’ and choose ‘Copy selected column…’   Go back to the filter and replace the AppUserModelId with your app id and append ‘!App’ (cut from here paste into notepad and copy and paste from notepad):         < /QueryList> Now you will see the ‘1010’ events associated with the tile update for your app! You can note the time of the ‘1010’ event, clear the filter and look for the next event that is a 1225 event and that will most likely be the tile notification with the Payload that you can decode using the first method I specified. **Closing notes** The ‘General’ tab will give you a good idea of what the various log entries are.  You can use the ‘XML’ tab to drill into the message.  Enable and look through this event log.  You will see all sorts of notifications related to establishing a channel and receiving push notifications.  If you see any errors you can drill into them here.  Happy Push Notifying! Let me know if this was helpful! << Go Back