Transferring Windows Phone Apps to a new Publisher Account

We recently moved our company from Austria to the UK and needed to transfer all our Windows Phone apps over to our new UK company publisher account.

Initially we thought this would just be a case of contacting Microsoft, and asking for the apps to be transferred to the new account. Unfortunately, like most things in life, it’s not that simple.

Only apps without in app purchases and push notifications can be transferred to a new publisher account

  • It is not possible to move with Microsoft Push Notification (MPN) or In-App Products (IAP) to a new account. As most of our apps have those, they are not movable.
  • The new account will only begin accruing payout for any sales after app migration to the new account is complete
  • Ratings and reviews can be migrated, but reporting can’t be. As soon as the apps are moved, you will see them on the dashboard of your new account, however they will continue to display the old publisher name in the marketplace until an app update has been published from the new account

 

If you have an application that has in app purchases, then it’s up to you to do the transfer.

 

There are a few options open to you here, in order of complexity

  • Publish your app to the new account and delete the old app from your old account. Although this is the simplest solution, your existing users will lose their in app purchases if they install the new version. Be prepared for negative user feedback if you chose this route.
  • Publish the app as hidden on the new account and update your existing (old) app that suggests to download the updated version on the new account. This new version would include a free IAP that unlocks the full version. You can then update your app after about a week or two and include the IAP at full price after the app has been downloaded by your existing users. This will allow most of your existing users to have the full version of your app. Existing users that don’t update will lose their in app purchase as soon as you put the IAP back to full price. So your most loyal users will be happy, those who missed the update will be disappointed, because they have to pay again.
  • Implement a one time activation code that will allow users to transfer their in app purchase licenses from the old app to the new app. This option is a quite complicated and requires a back-end server but no user will lose their in app purchases.

Of course we want happy users so chose the activation code option.

In all the above cases your reviews and rankings will be lost, as your app is seen in the windows phone market place as a completely new app!

 

Implementing the Activation Code

There are a couple of properties on Windows Phone (ANID, ANID2, DeviceUniqueId) that can be used to identify a user. However these are per device and per publisher account. This means these ids can only be used to identify a user from the perspective of the same publisher. For another publisher the same user has different ids.

Therefore we need some way to associate a user account with another user account between our old and our new publisher account.

This is where the aforementioned activation code comes in. Following are the steps that we perform in order to transfer a users IAP licenses to our new account:

  • Make an update to the app on your old developer account. The update should allow the user to obtain an activation code that is linked to their unique identifier (in our case we used the ANID)
  • Send the license information, activation code and ANID to the backend
  • Prompt the user to save the activation code and download the new app on your new developer account
  • Add functionality in the app to accept the activation code
  • Publish the app the your new developer account
  • When a user wants to transfer over a license the activation code along with the ANID needs to be sent to the backend
  • The back-end then has to verify the activation code and return the license back to the app

 

Swap license flow

Hopefully Microsoft will at sometime in the future enable apps to be transferred to other accounts regardless of in app purchases/push notifications