So let's say you have a Windows Phone 7 application that you think is ready to. You tested it multiple times, you tried to break it, you hired some guys to test it and you sent it to your friend to test it on an actual device. It works and now it is the time that you want to get your application on the Marketplace, so that other people can get the same awesome experience you and your friends got while testing it. But what is the process?
In fact, it is less complicated than it seems. First of all, you need an account at Microsoft AppHub. The not so surprising thing is that you have to pay for it - $99 per year for the subscription itself. What do you get for this money? Here is the quote from the original website:
- Make free, paid, or ad-funded apps and games
- Submit unlimited paid apps to Windows Phone Marketplace
- Submit up to five free apps to Windows Phone Marketplace, additional submissions are $19.99 USD
- Expand your reach with worldwide distribution and trial options
- Apps are content and code-certified
There are also some Xbox 360 benefits, but that's another discussion topic. So once you sign up, you will be able to access your dashboard.
Make sure you select, Windows Phone, since that is the platform we're talking about here. On a side note, XNA Creators Club members are automatically transferred to AppHub, so if you are one, you don't have tgo worry about your membership.
IMPORTANT NOTE: If you are a student that is eligible for the DreamSpark program, the registration fee can be waived. Speaking of myslef, I signed up through DreamSpark.
When the dashboard loads, you will see that you need to add some extra information to your account, especially if you intend to get pyments. Now, an important moment here is you will go through identity verification via GeoTrust, to ensure that you are the developer who claimed the membership. If you are a student (or get a free account by some other means), your identity will only be verified once you submit your first application.
So given that you already have your application, all you have to do is click on Submit an app, right? That is indeed true, but before going there, make sure that your application complies with the certification requirements. Here are some documents/articles that will help you make sure that your app is ready to hit the shelves:
- Windows Phone 7 Certification Requirements
- Going to Market with Windows Phone 7 by Charles Petzold
- Ready for take-off? Top 10 things to check when you think you are done with your application. by Alfred Astort
If it is indeed ready, then you're ready to follow the next steps.
So once you clicked on the submission link, you will be promted to enter some basic information about your application.
The application name will be displayed in the Marketplace, so make sure it is unique, it isn't offensive and that it has a reasonable length. You will also have to submit the XAP package for the application.
NOTE: You do not have to submit the source code for the application.
One important thing to mention here is remember to compile your XAP in Release mode in Visual Studio for some minor performance optimizations.
The next step is actually adding some details regarding the app testing process:
Here is where you can specify some details on how the application works and what are some specific points that should be considered during the testing process. If for some reason your application requires an exception from the regular certification process, you can select the Requires technical exception option - however, this will not guarantee the application approval.
When the fields are populated with the correct information, the application package will be uploaded to the Microsoft server. Note, that the limit for a single XAP package is 400MB.
The next step consists of adding some details that will describe your application to the users when they see it in the Marketplace.
Be very careful what you enter here because if the application gets approved, the information here can be the deciding factor when the user thinks about downloading it. I would generally recommend avoiding over-tagging the application and simply adding a couple of tags that will describe its functionality and/or used services.
The Required device capabilities field will display the information regarding the capabilities requested by the application when it is ran on the phone. One less known fact is that the developer actually sets those capabilities in WMAppManifest.xml and you should adjust those (remove un-needed features) before releasing the application:
So, for example, if your application doesn't use a WebBrowser component, feel free to remove the reference to ID_CAP_WEBBROWSERCOMPONENT, otherwise the user might think that the component will still be used (and that leads to the thought that the application requires an active data/WiFi connection) - not really the best thing to do for apps that run without accesing those services (the most obvious example - a flashlight app).
Talking about manifests, I've seen people asking whether they should modify AppManifest.xml in Visual Studio before actually submitting the application, to include all referenced assemblies. The answer to this is no, you don't need to. Whent the XAP package is built, the XML file will be automatically modified to reflect the assemblies used in the application, at the same time remaining empty in Visual Studio at design time.
Now to the fun part - submitting the artwork that will be associated with your application in the Marketplace:
If any other image here has a pretty obvious purpose, some developers might be wondering - what is the Background art for? In Windows Phone Marketplace, if an application gets featured, the entire Marketplace gets the app theme (aka background) therefore in some way highlighting the app itself. In case your application will be a hit and will be featured, the background art will be set as the background image for the Marketplace.
Screenshots will be visible to the user and same as the description, these will most likely separate you from an extra download - show the user what your application is about, highlight the most interesting features and show how it works. Your users will appreciate this.
Once you are done with this step, you will be able to set the price for your application (of course, it can be free) and you will be ready to go through approval.
The approval process itself might take a while, so be patient and you will be notified when the application will be ready to go. If it gets disapproved, you will get the reasons for this so you can adjust the application to the Marketplace requirements.