27
Windows Certification Tips & Tricks for Phone and Client apps Sonal Mane

Windows Application Certification Tips and Tricks

Embed Size (px)

DESCRIPTION

Here's a guide that helps you get quick access to tips and tricks on how to pass the Windows certification with real examples. If you're building apps for the Windows phone or Windows 8.1 Store, use these suggestions to make sure your app passes certification.

Citation preview

Page 1: Windows Application Certification Tips and Tricks

Windows CertificationTips & Tricks for Phone and Client apps

Sonal Mane

Page 2: Windows Application Certification Tips and Tricks

Significance

Developers often make the mistake of concentrating too much on the internal workings of their app’s code and too little on the larger process of making that app available to users.

The Windows Store certification process is designed to make sure that the apps that get listed in the Store are ready for those potential users.

By understanding the process ahead of time, you’ll be able to avoid a number of mistakes that will cause the app to be rejected from certification or otherwise delayed.

Page 3: Windows Application Certification Tips and Tricks

Certification States

Upload Preprocessing

Security tests

Technical compliance

tests

Content compliance

 

Certification report

ReleaseSigning

and publishing

App in the Windows

Store

Page 4: Windows Application Certification Tips and Tricks

Twelve tips

#1: Make sure your app fulfills certification requirements

#2: Create your Store account early

#3: Reserve appropriate app names early

#4: Submit high quality apps that deliver unique value to customers

#5: Declare only those capabilities that the app truly needs

#6: Include required privacy policies

#7: Be careful when soliciting user ratings

#8: Test your app thoroughly

#9: WACK your app (run the Windows App Certification Kit)

#10: Maintain truth in advertising

#11: Select an appropriate age rating for your app

#12: Use the Notes to Testers field

Page 5: Windows Application Certification Tips and Tricks

#1: Make sure your app fulfills certification requirements

No matter what stage your apps are in, be sure to regularly review the App certification requirements for the Windows Store, which can and do change.

Keep in mind the core principles behind certification:

Apps need to provide value to potential users,

Behave predictably

Put users in control

Be appropriate for a global audience.

Other requirements

Content guidelines imposed by an ads provider

Be sure to check the requirements of any service that you’re using in addition to the Store.

Things to check Before you submit

Guide on Resolving certification errors

Page 6: Windows Application Certification Tips and Tricks

Common Issues

Unclear or confusing app description See guidance on writing a great app description,

Requirement 6.13 Incorrect app screenshots, incorrect icons and tile

images Requirement 4.7 – Required app images.

Incorrect use of the Back button Requirement 5.2.4 - Use of Back button.

Lack of support for both light and dark phone themes Requirement 5.5.2 – Content and themes

Page 7: Windows Application Certification Tips and Tricks

#2: Create your Store account early Account verification takes a few days

Apps cannot be certified until developers have completed setup of the Windows Dev Center account.

Company accounts have verification steps that can take a few days to complete. This is necessary because company accounts can take advantage of additional privileges in apps.

Tax forms for your country Complete the necessary tax forms for the country of origin,

which is a requirement for paid apps and in-app purchases. Without completed tax forms, certified apps will not be

released and developers won’t receive revenue payout.

Page 8: Windows Application Certification Tips and Tricks

#3: Reserve appropriate app names early

The name of the app affects many aspects of design and branding, so reserve the app name early in the development process, including any localized names

Verify that you have the rights to use the name you choose.

Be especially careful when using other company names, such as when you’re employing their services within your app. Each company will have their own policy on how their trademarks can be used by third parties, and if you infringe on their trademarks they can ask that your app be removed from the Store.

See What to name your app and the latest on App Naming Guidance

Page 9: Windows Application Certification Tips and Tricks

Common issues

Developer dashboard shows that the 'Account is not verified'.

Developer receives a message ‘We haven't finished verifying your identity. After we verify your identity, we'll start certifying your app.’ No error on developer dashboard saying that they’re verifying our identity on `Account` tab.

Name is already taken by someone else i.e. Infringement Publisher needs to submit a form and if needed

reach out to Symantec.

Page 10: Windows Application Certification Tips and Tricks

#4: Submit high quality apps that deliver unique value to customers Customers reward creative and useful apps, and have little

interest in unfinished apps or the results of early experimentation.

Don’t submit:

Variations of the samples in the Windows SDK. They are not intended for consumers nor are they intended to provide starting points for a consumer-facing app.

Collections of apps built around a given theme using what appears to be a cookie-cutter app template. Such apps be combined into one app.

Apps whose only purpose is to display a limited set of static images (sometimes as little as one image— of a flag or a celebrity for example).

Ensure that your app is fully functional, and won’t be perceived as unfinished

Page 11: Windows Application Certification Tips and Tricks

Common issues The value or usefulness of the app is

not clear.

The app has a name or icon that is very similar to other apps in the Store.

The app is valuable or useful only in a subset of the languages that it claims to support.

The app uses sign-in functionality, but doesn't provide users with a way to sign up and create an account.

The app is a single-page app with a very limited set of content and functionality.

The app is functionally similar to your other apps, but with a slight variation on the content.

Page 12: Windows Application Certification Tips and Tricks

#5: Declare only those capabilities that the app truly needs Declared capabilities are shown directly to consumers and need to

make sense, especially those that have privacy concerns such as use of the microphone, camera, and geolocation.

If there is any doubt whether your need for a capability is obvious, explain your use of it in the app’s description.

Three special-user capabilities that guarantee a slower certification process

Documents Library, Shared User Certificates, and Enterprise Authentication

Apps that use these must be submitted through a company account (not an individual account), and are also reserved for very specific scenarios and require written justifications. For more, see App capability declarations

Apps that declare the Documents Library capability can only be submitted from developer accounts which have acquired an Extended Validation (EV) code signing certificate (see Account types, locations, and fees)

Page 13: Windows Application Certification Tips and Tricks

#6: Include required privacy policies A privacy policy is required for all network-enabled apps, which

includes all apps that declare the Internet (Client)capability in the manifest. This capability is turned on by default in the Visual Studio project templates, so remember to uncheck that box in the manifest editor if you don’t need it.

Your privacy policy must be posted on a publically-accessible URL.

Your app must obtain opt-in or equivalent consent to share personal information

Provide a privacy policy if your app connects to the internet at all (or if you have the Internet capability checked).

There are two places where you have to provide access to your privacy policy:

Settings charm of your app (this will be available to the users while they're using the app)

Description page of your app on the dashboard when you're submitting the app (users see this page before they acquire the app)

Requirement 4.1of the app certification requirements for the Windows Store provides the specifics of what your privacy policy must contain.

Page 14: Windows Application Certification Tips and Tricks

Common issues

Developer receives a message like this,The privacy statement provided in the Windows Settings Charm for this App does not appear to relate to privacy. Note: The privacy policy needs to be specific to your company and/or App. In addition to your app's privacy policy, you can also include links to privacy policy of other service providers if the user's information is collected or shared with them via this app. While reviewing this app, our reviewers found it to have errors that prevented them from completing their review.

Page 15: Windows Application Certification Tips and Tricks

#7: Be careful when soliciting user ratings Apps cannot offer rewards for positive ratings or

reviews.

When inviting feedback, avoid using any words that suggest a reward, as that will be grounds for rejection.

In fact, it’s not even possible to programmatically determine what feedback was left, so there isn’t a way to trigger such a reward in the first place. The most you can do is send a user to your app’s rating and review section in the Store.

Use the app promo tool and get the latest NuGet Package and Code Gallery article here

App Marketing Guidelines is intended to give you the tools for you to best position your Windows Store and Windows Phone apps.

Windows Store Guidelines and Windows Phone Store Guidelines

Page 16: Windows Application Certification Tips and Tricks

#8: Test your app thoroughly App crashes: Requirement 5.1.2 

Make sure that your app doesn't crash without network connectivity. Even if a connection is required to actually use your app, it needs to perform appropriately when no connection is present.

Crashes may also happen due to JSON parsing or HTTP request failures

Configuration Testing

Test on a variety of hardware with different capabilities. This includes touch-only devices, touch-enabled devices, and keyboard and mouse-only devices (when applicable).

Also test on x86, x84, and ARM systems—never assume that just because your app works on one that it will work on the others.

Test your app on a variety of screen sizes and orientations, as well as narrow layouts. See Guidelines for resizing to narrow layouts. Use the Visual Studio simulator for testing different screen sizes, resolutions, and orientations. 

Touch-first experiences: Requirement 6.13.4

If your app doesn’t fully support touch input and fully support keyboard and mouse input, you must disclose that in the description elements of the app

Page 17: Windows Application Certification Tips and Tricks

Common issues Localization

Be consistent with localization and make sure your screen shots demonstrate that you've localized your app.

Properly localize your app for all languages that it supports

Keep in mind that languages are not the same as markets. See globalizing your app for more help.

Responsiveness

Progress indicators are displayed when data is loading - Visual feedback is needed to indicate the app is not frozen.

Connectivity

Test your app when the device is disconnected from the Internet and/or on a metered connection.

Make sure that when offline the app fails gracefully and alerts the user to that condition rather than crashing or otherwise behaving in a way that will confuse your customers.

When the app is offline, the app should warn the user for any requested action that cannot be completed

Page 18: Windows Application Certification Tips and Tricks

Common issues

Performance testing on low connection speeds to check for responsiveness and crashes

Accessibility: Don't declare your app as accessible unless you have specifically engineered and tested it for accessibility scenarios.

Search, Share, Contextual commands

Search filter operates oddly

Command buttons that do nothing when tapped

App bar with contextual commands needs to be predictable so users can easily find them

Paid apps will require validation of the payment instrument

Switch from using the CurrentAppSimulator object, which you use during development to work with the Store APIs, to the CurrentApp object. If you forget, you’ll fail certification right away.

Catch exceptions: Some Store APIs will throw exceptions when the device is offline and licensing information isn’t available. Be sure to catch those exceptions, especially for in-app purchases, because you’ll typically never see such exceptions when using the CurrentAppSimulator.

Page 19: Windows Application Certification Tips and Tricks

#9: WACK your app (run the Windows App Certification Kit)

 Use the Windows Store simulator for testing calls to the Windows Store.

Windows App Certification Kit tests for Windows Store apps

Windows App Certification Kit tests for Windows Phone 8.1 apps

Debugging and testing on Windows RT PCs

Run the WACK throughout your development process rather than waiting until the very end.

You can also choose to run only specific tests in the WACK

Page 20: Windows Application Certification Tips and Tricks

#10: Maintain truth in advertising If your app has the capability to use the advertising ID, it may not collect

or use it if the user has turned off the feature.

If the user has chosen to reset the advertising ID, your app may not use any prior advertising ID values, or associate them with the new value.

When filling out all the descriptive information for your app’s page in the Store—including your description, feature list, and screen shots—be honest about the real customer experience of your app.

Make sure that whoever is writing this marketing copy and providing description, feature list, and screen shots is fully attuned to what the app actually does.

Be sure to also disclose geographical restrictions and any hardware requirements

You must also disclose the extent of localization. Ideally, you should provide localized versions of your descriptive text, features, search keywords, screen shots, privacy statements, and so forth for each language you declare in your app manifest. If you have any partial localization, however, be sure to disclose it.

Page 21: Windows Application Certification Tips and Tricks

#11: Select an appropriate age rating for your app Most apps should have a rating of 12+, unless

they are specifically intended for a younger audience.

If you're having trouble deciding between two age ratings for your app, choose the higher one.

Certain markets may require you to submit an age rating certificate from a rating board. Here are the age ratings and rating boards.

Page 22: Windows Application Certification Tips and Tricks

#12: Use the Notes to Testers field The Windows Store offers only fully functional apps to provide customers with

the best experience. Anything that might cause our testers to think that your app is not completely finished will cause your app to fail certification.

Make sure that you provide any necessary info required to use your app

Here are some tips:

Provide user names and passwords for demo or test accounts, e.g. two phase type of authentication

Can users make purchases through the app? If so, provide a way to test those purchases.

Provide steps to access hidden or locked features

Provide information about what's changed in an app update 

Remember, a real person will read these notes. 

Be succinct and keep instructions simple. 

Ensure that services and external components are online and available. 

If your app requires access to a server, tell testers what they need to do to verify that it's working correctly.

Requirement 5.1.4 - App Testability

Page 23: Windows Application Certification Tips and Tricks

Testability Review your app for unfinished features, unimplemented options and

menu choices, and other elements that might make your app appear to be unfinished.

Some common reasons why an app appears nonfunctional or unfinished include: The app includes nonfunctional sections or contains placeholders (with

labels like "coming soon" or "not available yet") for primary user scenarios.

The app doesn’t work on all the architectures that it claims to support. For example, if you state that your app works on any CPU, it must work on all architectures, including ARM.

The app description uses screen shots or statements that imply features that don't appear to be implemented.

The app plays background audio, but does not correctly implement play, pause, and play/pause events to enable users to control audio playback.

The app description doesn't explicitly state hardware or network requirements.

The app uses the default icons generated by Microsoft Visual Studio or included in SDK samples.

Page 24: Windows Application Certification Tips and Tricks

Debugging Resources

WACK Report from the Store testers that is sent to the publisher

App submission checklist Package upload errors Analyzing crash reports – Use crash dumps, use errorinfo

files Mailing aliases to expedite your app submission for top

apps, Windows Phone Certification and Vetting

Windows Phone Dev Support

Page 25: Windows Application Certification Tips and Tricks
Page 26: Windows Application Certification Tips and Tricks

Thanks… Mike Francis of the Windows Phone Store certification and policy team

Top Windows Phone app certification failures and how to avoid them

Jennifer Marsman from DX – Audience, Central US

Android to Windows 8: Top 10 tips for passing Windows Store certification

Common certification errors when submitting to the Windows Store

Common Windows Store certification errors: 1.2 App must be fully functional

Common Windows Store certification errors: 3.8 App must meet the basic performance criteria on a low-power computer

Common Windows Store certification errors: 4.1 Your app must comply with privacy requirements

Common Windows Store certification errors: 6.5 App must be localized

Gus Salloum of the Windows Store team

The Fast Lane for App Certification: 12 Windows Store Certification Tips

Page 27: Windows Application Certification Tips and Tricks

References Windows Store Certification Requirements

Avoid common cert failures

Resolving certification errors

Windows Developer blog

Certification process

Windows Store terms of use

Application Developer Agreement

Application certification requirements for Windows phone

Publish your app in the Windows Store

Resolving certification errors

Building Apps Windows blog

Technical certification requirements for Windows Phone