Ready to submit your first Windows 8 app to the Windows Store? Read this walkthrough to guide you through the process
Publishing your app requires a series of steps, we’ll try to walk you through them here!
Log in to the windows store
Submit your app
- App name
- Selling details
- Advanced features
- Age rating and rating certificates
- Cryptography
- Packages (building the app package, running the WACK test, uploading the app package)
- Description
- Notes to testers
Log in to the Windows Store
Before you can publish your app, you need a Windows Store account. Go to the
Windows Store
to register. Remember if you are a student you can get your Store
account for free, you can find instructions on how to do that
here.
After you log in to the store with your live ID (the one you used for your store account), go to “
Dashboard”
If this is your first time logging in since you created your account, you may see a message that says
“Before we can list any of your apps in the Store, you’ll need to verify your payment method. Verify your payment method.”
When you created your account you entered credit card information. A
small amount was charged and then reimbursed on your credit card to
validate the card. You need to find your billing statement (or call your
credit card company) to find out the transaction amount that was
charged.
Select the Verify your payment method link and you will
be taken to the Payment account verification screen. When you get there
scroll to the bottom of the screen. using the information from your
credit card billing statement, enter the amount that was charged or the 3
digit code from the transaction description and select Next.
Once you see the message saying “
We successfully verified your payment account” You are ready to begin submitting your app!
Submit your app
From the top menu, select “
Dashboard” then select
“Submit an app” from the menu on the right.
Use
the dashboard to see all the applications you submitted and their
status in the store certification process. It can take as little as 2
days or as much as 2 weeks for an app to be published after you submit
it.
There are 8 sections to complete, let’s break them down one by one!
- App name
- Selling details
- Advanced features
- Age rating and rating certificates
- Cryptography
- Packages
- Description
- Notes to testers
Your
app name is important! It is the first thing a customer sees when they
find your app in the store. Be creative! Make sure you don't use names
that are trademarked by others or those who own the trademark could ask
to have your app removed from the store.
Enter the app name you wish to use and select
Reserve App Name. If you get a message back informing you your app name is already in use, you will have to enter a different app name.
NOTE: The app name you enter here must match the Display Name in your app manifest.
TIP:
You can just do this first step to reserve your app name before you
have the code ready to publish. Your name will be reserved for 12
months.
Price
- This is where you set the price of your app, and your free trial
options. If you choose to charge for your app, pricing can start at 1.49
USD. The price you select may include a sales tax that the customer
must pay. Your proceeds will be based on the pretax amount.
TIP:
Apps with free trials of some sort usually get more downloads, you can
either limit the duration of the trial, or in your code you can limit
the features available on the trial version. Use the license Information
class to determine if a trial has expired, or if a user is running a
trial version. You can find more information about handling trials in
your code
here.
Markets
- Select the countries where you want your app to be available.
Selecting a country does not guarantee your app will be published there.
There is some content and features that is restricted to certain
regions, you could be using a feature that is not available in a
particular region yet. You might want to consider the primary languages
spoken in a particular country when deciding which countries you select.
TIP: When publishing a game, the countries
Korea, South Africa, Brazil, and Taiwan require a game to be rated by a
rating board and certified to prove the age rating of the game. If you
do not have certificate files to prove you have completed that process,
make sure you do not select those markets or your app will fail
certification.
Release Date - If you want your app to be published as soon as it is certified select the first option.
Category
- Now, select the category that best matches your app, this will affect
where your app will be listed in the store, so consider your choice
carefully. If a Windows user was searching for an app like yours in the
store, which category would they choose to search? It's important to
make it as easy as possible for users to find your app in the store.
Picking the wrong category can also result in failing certification,
because the testing team may not feel the category is appropriate for
your app.
Hardware requirements – If your app has minimum RAM or DirectX requirements, you can specify that here.
Accessibility
– Only select this check box if you have gone through all the
accessibility guidelines and tested your app to ensure it is accessible.
Accessibility includes testing for users with low vision or screen
readers.
You
only need to complete this section if your application supports push
notifications (often used to update tiles), connect services such as
SkyDrive and Single Sign-On, or in-app purchases. In app purchases is a
popular way of making money with apps, the app is free, but a user can
make in app purchases improve their app experience. For example, there
are games where players can purchase weapons or armour.
If you have not implemented any of the above features you can just leave all the fields in this section blank.
This
section is to describe the audience for your app and upload your rating
certificates. If you can't decide between two age ratings, for example
your app has content you feel is suitable for 12 and older, but requires
an account that can only be created by users 16 or older, choose the
higher age rating. Some countries requires will also require that your
app be rated through a
ratings board,
especially for games. So check the list to see if a market you selected
requires a rating certificate. If you try to publish to a market that
requires a rating certificate and you do not provide the certificate
file, your app will fail certification.
You must declare whether your app calls, supports, contains or uses cryptography or encryption.
There
are US regulations regarding the exporting of technology that use
certain types of encryption. Apps in the Windows store must comply with
these laws because the app files can be stored in the US. These rules
apply even if you are a developer in Canada selling apps in Canada
through the store. So if your app is doing some type of cryptography or
encryption you should read up on the
regulations to see if your app requires an Export Commodity Classification Number (ECCN).
Now
it's time to upload your app to the Windows Store. But there are a
couple of things you need to do first:Build your package and run the
WACK test.
Building the App package
- In Visual Studio, change the Build type from Debug to Release and Build the solution by choosing Build | Build Solution from the menu.
- From the menu choose Project | Store | Create App Packages…
- When asked “Do you want to build packages to upload to the Windows Store”, select Yes. and then select Sign In.
- Sign in with the same email account you used for the Windows Store.
- Select
the app name you reserved to indicate the app for which you are
creating a package. If you are resubmitting after a failed attempt to
publish or to update your app in the store, you will want to select the
checkbox “Include app names that already have packages” so you can see your app in the list.
- After you select the app name, select Next.
- Now
you must choose which platforms will be able to install your
application. If you pick Neutral, you will get a single package with
builds that will run on any Windows 8 hardware. If you select individual
builds you will get a different package for each build type. NOTE:
If you are building an app which requires a lot of memory and processing
power and you have not tested it on ARM, you might want to consider
selecting x86 and x64 specifically and not including ARM in your release.
- For
the version number, I recommend using the Automatically increment.
Otherwise you must make sure the version number in your app manifest
file matches the version number on this page.
- Make a note of
the output location, because you will need to upload the file from that
location to the store after the package(s) is/are created.
- Select Create when you are ready for Visual studio to generate the app package.
Running the Windows App Certification Kit (WACK) test
After
your package is created, you are prompted to launch the Windows App
Certification Kit. This will run your app through a series of tests to
chefck for issues that could cause it to fail certification. While it is
running you will see the app occasionally launch and close. Do not
interact with the app while the WACK test is running.
To start
the WACK test select Launch Windows App Certification Kit. This process
can take 10 minutes or so. You will know when it is complete because you
will see the test summary page informing you if your app passed or
failed. The results window does not automatically appear in the
foreground, so you may want to occasionally check your task bar and
desktop to see if the test is completed.
.
If your app failed, select “
Click here to view full report”
then investigate and resolve the issues that caused it to fail, then
create a new package and try again. If your app passed, you are ready to
upload the package to the store.
NOTE: Wondering what sort
of issues the WACK test might catch? When I used JavaScript files from
the CreateJS library in my solution, my app failed the WACK test because
they were encoded as ANSI instead of UTF-8. I had to open each .js file
in NotePad and do a Save As, changing the Encode to UTF-8. When I
rebuilt the project and package and ran the WACK test again, it passed.
Uploading the package
Once your package is created you will find a new folder called
“AppPackages” inside your application folder. Inside the “AppPackages” folder is a file that ends with
“.appxupload” extension. This is the file you will select when you upload your app.
If
you made changes to your app and rebuilt the package, make sure you
pick the most recent app package, the version number in the package file
name or the date created can help you identify the most recent
package(s).
Go to the Packages section in the application
submission and then drag your package(s) to the app submission page.
(remember if you chose to make separate builds for x86,x64 or ARM you
will have multiple packages and you will need to upload all of them to
the store.)
You will know when your package is uploaded because you will see it listed as an uploaded package.
App Description
- This is where you describe what your app does and this is what users
will see when they look at your app in the Windows store. If you want
your app to be downloaded by a lot of people, make sure to take time to
write a good description. Take a look at the descriptions of similar
apps in the store, how will your description stand out? Make sure the
first couple of sentences grab their attention. Make sure you have a
short list of your app's best features. If you offer a free trial, this
is a good place to explain how the trial works. There are some good tips
on writing your app description
here.
TIP:
If your app will require anyone to log in to complete certain tasks,
you must mention that in your description or you will fail
certification.
Screenshots - After you add the
description of your app, you will need to upload images of your app
including a logo that the will be used to feature the app.
If
you don’t have these images already, you can create them using the
simulator in Visual Studio. Change the launch option to Simulator using
the drop down key in the menu.
When
the app launches, on the right side of the simulator is a button with a
camera icon which will let you to take a snapshot of the screen and put
it in your clipboard. Then you can open an app such as Paint paste it
and save it as a .PNG file. If your image is larger than 2 MB you may
have to use a tool like Paint .NET (which you can download for free) to
save it at a lower resolution. You can’t just resize the image because
it must be at least 1366 x768 pixels (landscape) or 768X1366 pixels
(portrait).
Keywords
– If someone was searching the store, what keywords would they use to
find your app? Specify these as keywords to help users discover your
app.
Copyright and trademark info – this is a
mandatory field where you specify the copyright information for your
application. Basically this is where you get to say, whose app is this.
Promotional Images
– If you have a great app, make sure you include some extra images so
your app has the potential to be featured in the store! Being featured
always results in more downloads, so if you’ve done something amazing,
make sure to include all the promotional images so your app could be
highlighted!
Website – If you have a website for your app or other apps you have built, you can include a link to it here
Support Contact Info
– you must provide a way for users to contact you if they have problems
with the app. An email address, or a link to a website with a Contact
Us option will suffice.
Privacy Policy -
One of the main reason that apps fail certification
is developers forget to include a privacy statement in the description
section. You may think you do not need a privacy statement because you
are not collecting email addresses or personal information. However, if
your app connects to the internet, or if the app manifest says it
connects to the internet (which it does if you used any of the default
templates and you haven't changed it) then your app requires a privacy
policy. Any app that connects to the internet fetches the user’s IP
address. If your privacy statement is less than 200 words, you can put
the text directly in the About page of your app and on this submission
page (the privacy statement must appear in both places). If it’s more
then 200 words, you need to include a URL to a website that displays
your privacy statement. Below are some resources to help you figure out
if you need a privacy statement, and how to add a privacy statement
This
is a place for you to add any notes you wish to share with the people
who are testing your app for certification. For example, if your app
requires a login to an online service, you must provide the login
information for an account the testers can use. If your app is only
intended for a limited audience, it is good to mention that in notes to
testers as well, because your app can be rejected because it does not
appeal to a wide audience. So, if you are making an app for a specific
audience, make that clear in the description and notes to testers. The
information you enter in this section is not seen by users of the app,
it is only seen by the team who tests your app to see if it is suitable
for the Windows Store.
Submit for certification
After
you have completed all the sections you should see a checkmark beside
every section. If there is a section without a checkmark, go back to see
if you either missed a mandatory field, or you have a field entered
incorrectly.
If every section is marked as complete you can now select
Submit for Certification.
Congratulations! You have just submitted your app to the store!
Once
you submit your app, it will take up to 2 weeks to get certified, you
can track the progress of your app in the main dashboard. You don’t have
to keep coming back here to check the status. If you fail
certification, you will receive an email and a detailed error report
explaining why it failed so you can correct any errors and resubmit. If
you pass certification, you will receive an email with a link to your
app in the store!
The Windows team has created this great
checklist to help you prepare and organize all the required info to make it easier to enter the info when you submit an app.
If you are a Canadian don't forget to register for the
Developer Movement to see if you can get rewards for your app!