[W8] Need Brief information on TCR points RRS feed

  • Question

  • While exploring the Windows 8 app certification requirements, there are few points which i am not able to understand and eventually finding it difficult to test at our side (QC department).
    As i am working on windows based Projects, i need some brief information on the TCR points. Can you please give more insight about these points in terms of testing and is there any tool that can help us to make our test easier?

    Please see the following points:-

    Windows 8 app certification requirements

    3.1 You must use only the Windows Runtime APIs to implement the features of your Windows Store app
    We describe these APIs in the Windows Store apps API reference. Your app may only depend on software listed in the Windows Store or that is identified as Windows 8 compatible in the Windows Compatibility Center.Windows Store apps must not communicate with local desktop applications or services via local mechanisms, including via files and registry keys.

    Unless your app is a Storefront for software, your app must not encourage users to install desktop software that is not required to complete the primary value of the app.

    3.10 Direct3D apps must support a minimum feature level
    This requirement applies if you depend on specific 3D graphics hardware features.

    If your app includes an ARM or a Neutral package it must support Direct3D feature level 9_1. If your app does not support ARM it must support the minimum feature level chosen on the Store portal.

    Because customers can change the graphics hardware in their computers after the app is installed, if you choose a minimum feature level higher than 9_1, your app must detect at launch whether or not the current hardware meets the minimum requirements. If not, the app must display a message to the customer detailing the Direct3D requirements.

    In addition to supporting the chosen minimum Direct3D feature level, your app may use higher feature levels when available.

    3.11 If your app contains Windows Runtime components, they must conform to the Windows Runtime type system

    In particular, all Windows Runtime types:
    Must be located in the package file with the longest namespace-matching name.
    Must be the only types with public visibility in a Windows Metadata (.winmd) file.
    Must have a unique, case insensitive name.
    Must not be located in the Windows or global namespace.
    Must have public visibility unless the type is an interface marked as exclusive to a specific runtime class.
    Must be sealed unless the type is a runtime class marked as composable.
    Must compose an unsealed system class, if the type is a composable runtime class.
    Must not include write-only properties.
    Must not implement interfaces that are marked as exclusive to another class.
    Must not be generic or parameterized.
    Must not define methods that overload operators.
    Must not change signature or parameter names between interface and runtime method declarations.
    Must not include default values for method parameters.
    Must not include property getters that take input parameters.
    Must not include property setters that take more than the single set value parameter.
    Must not define factory methods with additional out parameters beyond the return value.
    Must not use IReferenceArray<T> or IReference<string> as a parameter type.
    Must not use the signed byte fundamental type.
    Must define enums with an underlying type of Int32 or UInt32 only.
    Must apply the FlagsAttribute to UInt32 enums.
    Must not apply the FlagsAttribute to Int32 enums.

    4.1.2 Your app must obtain opt-in or equivalent consent to share personal information
    Your app can publish a customer’s personal information to a service or other person only after obtaining opt-in consent.Opt-in consent means the customer gives their express permission for the requested activity, after you have:

    a) Described to the customer how the information will be used or shared; and

    b) Provided the customer a mechanism through which they can later rescind this permission and opt-out, while continuing to use the app.

    If your app publishes a person’s personal information, but that person is not a customer, you must obtain express written consent to publish that personal information, and you must permit the person whose information is shared to withdraw that consent at any time. If your app allows a customer to access another person’s personal information, this requirement would also apply.

    Personal information includes all information or data that could reasonably be used to identify a person. Examples of personal information include: contacts, photos, phone number, audio & video recordings, location, SMS or other text communication, images of the computer’s desktop or screen shots, unique identifiers based on the computer's hardware, and in some cases, combined browsing history.

    4.7 If you use a commerce transaction provider other than the Store's, you must identify the provider at the time of the transaction or whenever you collect any payment information from the customer
    If your app uses the Windows.ApplicationModel.Store namespace for in-app purchases, this messaging is provided for you. If your app uses any other method for in-app purchases or to collect payments, it must display a message to the customer stating that who is responsible for the transaction.

    For example, in-app purchases made from apps produced by Contoso that don’t use the Windows Store for the transaction would display a message such as, “This item is available from Contoso” at the time of the transaction.

    4.8 Your app must prompt the user for authentication to allow a commerce transaction to be accomplished.
    The app can offer the user the ability to save this authentication, but the user must have the ability to either require an authentication on every transaction or to turn off in-app transactions. If your app uses theWindows.ApplicationModel.Store namespace for in-app purchases, this prompt is provided for you.

    6.9 Your Windows Store app’s packages must have a correct app manifest
    In each of your app’s packages, the app manifest elements must contain the correct values as described in the Package metadata requirements.

    May I request you to provide your valuable comments for each individual point?
    More brief explanation of points will be very helpful for me as well as my team to explore the knowledge in all the possible areas in the world of Windows 8. J

    Awaiting for your reply.

    Thanks & Regards !!

    Abhijit javkhedkar

    Thursday, June 6, 2013 3:08 AM