Detect whether user has reviewed your app or not #wpdev

In May while trying to get Cineworld app into Nokia Collections, I was asked to up the ratings – it had about 143 3.5* ratings. Nokia contact gave me a feedback helper control that I plugged in and bang.. 100 reviews a week and today it stands at 1800+

the app still hasn’t made it to Nokia Collections but I has earned me some XP from DVLUP.

So what does the feedback helper do ? well it prompts the user to rate the app. Some times a user would have already rated the app and prompting them – ends up pissing them off. some down rate the app, others down rate and email me about it.

A while back I noticed that if you went to review an app that you had already reviewed, the app store would show you previous review and allow you to modify it. Encouraged by Pedro Lamas use of fiddler to detect updates, I fired up fiddler and gave it a whirls.. here are the findings.

Connection: Keep-Alive
Content-Type: application/xml
Accept: */*
Accept-Encoding: gzip
Authorization: WLID1.0 t=EwBwAsJkBAAUjOxKcvu5vfjrrkq8bAfVS/jJQx4AATQW7lCndkoL7NuO2uyyYc8Bizwpr0BSyTbldPkm+Ot9eyULF0ZNXgqseu3KMp5GX3UNiwaJuOkgpCHQb3n2mtHjIqOMLVQ8C5Mf+xNCiKT/uD9MH0oy8oT3FYMrIJzsqlX2XzaN6UgcuXHKCXWFKhc5pMGxc9STMzNVXIOJhWq17gi9oVCT7/d4qKmm9Zqn9domh0ahUHLGUxaoaBxLbhBTNzmg33ZiJzvZp7/HX4wDmG93OY1pdCC7vUw1ecJY9ZkxGguw+8uVE+cqO+Q411LUmPUA1XKLrxekJVNE2j9meZV89VF2N3ohfAUz/6b0DRZ0s1m0P8GM2U7MClRvfWYDZgAACN1ftULaeX7PQAECQSNrxGE7dsRpkTdnmFV5+S4fSKWdy7DeFTYFsPIxa/xaMQO4b/jG5SO5hGi/Apre2mMZfBYw3mSJUsJ9lraS9OVoIbNS6C9oDaPlhGdugQTI+V6DkHxB6uEQWZysFzTTMXOgoaoRxS9HbQKbRrmi0hA7gGAMHvEZ5DmXa9VY0Q5lEQnrbecNZe6utgaLvLRhFPolUBqP06HTVqiwmvIVZ6NgBa7BL5R+GqKoyEyEs4XnCekMAVM9uK3eWrNY84CHbjcDjeqxv0Xv3htaQ7fHoyPLO/qkDHFWxVzYsA//fMiireRKoYV4yE3MBtciZwP6Iqqw2Pd29zLz2MGQELX5fkqKy+d5/a4VHTFqy67XuRaLOI6Xzp1Zjm7U7ZA7JGCl381bI1ITFUByIulWYB&p=
User-Agent: ZDM/4.0; Windows Mobile 8.0
X-WP-Client-Config-Version: 107
X-WP-MO-Config-Version: 803
X-WP-Device-ID: A7DF71A4B57D13FB1B904CAA83FE02B63B8EF2457E02A2166C0686D22C200000
X-WP-ANID: A=264684E3878630980823C9A1FFFF0000&E=ea9&W=1
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/atom+xml
Vary: Accept-Encoding
X-WP-Activity-ID: f97aa71b-03d9-4d58-ad6d-23ed6d351096
X-WP-Served-By: MarketplaceEdge_IN_2.EUNO.Pod1.9.0.13266.1
X-WP-Latest-Client-Config-Version: 107
Date: Sun, 13 Oct 2013 22:16:22 GMT
Content-Length: 905
<?xml version="1.0" encoding="utf-8"?><a:entry xmlns:a="" xmlns:os="" xmlns=""><a:link rel="self" type="application/atom+xml" href="/v8/ratings/product/9b255dee-4682-49d8-88bc-d568e40f84bc/user/reviews" /><a:updated>2013-01-12T15:53:31.097000Z</a:updated><a:author><a:name>Hermit</a:name></a:author><a:id>tag:,2013-10-13:/v8/ratings/product/9b255dee-4682-49d8-88bc-d568e40f84bc/user/reviews</a:id><a:content type="html">Hi this is the developer of this app. Just wanted to apologize for issues over the last few versions. Please email me if you still have issues</a:content><userRating>8</userRating><device>RM-821_eu_euro1_276</device><productVersion>8.0</productVersion><hidden>false</hidden><reviewId>3ba388e8-925a-4326-8329-1e365dc7df5e</reviewId></a:entry>

The findings show that there is a GET method that requires authorisation code and device id / ANID in the http headers.
The response is the user review with the ratings

Update: I was asked to check if the rating / review submitted by user makes it to device. I have tested it with another app and yes the device gets the review after a bit (not immediate.. few mins at least). This means that ANID has a easy way of translating to user identifiable live id 🙂 but we already knew that 🙂


16 thoughts on “Detect whether user has reviewed your app or not #wpdev

  1. This is cool! How I was thinking to tackle this scenario: Prompt user once (with [Review] [Later] [Never] buttons) after they have used those features of the app which you think are the coolest. They have just experienced a cool thing and most likely they would want to rate, and rate well. If they choose to rate the app – consider they have rated, do not prompt them again (if they are tricking the app by going to review page and not rating, let them not rate. Respect user’s wish). If they choose “Later”, prompt them later at an appropriate usage/time interval. When they choose “Never”, it’s always next update when never gets overridden and you can prompt them again. Just thinking.

  2. Interesting! But to create such a request from code is probably difficult to even impossible. There are a lot of headers which contain values we don’t have right now.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s