Additional Requirements for Specific Application Types
January 05, 2012
An application that uses specific phone capabilities must meet the following additional requirements.
A location aware application can access the phone location by using the classes in the System.Device.Location namespace. For more information, see the Location for Windows Phone topic.
|
Requirement |
Requirement Text |
Test Steps |
|---|---|---|
|
6.1 - Location Aware Application |
Users have the ability to turn off the Location Service on the phone from the System Settings page. Location aware applications must remain responsive when the Location Service is turned off on the phone. Recommendations
|
|
The Microsoft Push Notification Service provides a dedicated, resilient, and persistent channel for pushing notifications from a web service to a mobile device. For more information, see the Push Notifications for Windows Phone topic. For more information about Tiles, see Tiles Overview for Windows Phone.
|
Requirement |
Requirement Text |
Test Steps |
|---|---|---|
|
6.2.1 – Configurable Functionality |
In the UI or Settings menu, the application must provide the user with the ability to independently disable toast notifications. All applications that use toast notifications must also adhere to section 2.9 of the Application Policies. |
|
|
6.2.2 – Toast Notification Opt-In |
The first time that your application uses the BindToShellToast method, the application must ask the user for explicit permission to receive toast notifications. Recommendations Use "Allow toast notifications." as the text label for this setting. Important Note:You are only required to ask the user for permission on the first use of the BindToShellToast method. You are not required to ask the user for permission again. For example, if your application calls BindToShellToast each time your application loads, you would only prompt the user the first time the application is launched. |
|
It is possible that an application in the foreground can continue to run when the phone screen is locked by setting the ApplicationIdleDetectionMode property.
When your application runs under a locked screen, it could consume power outside of the user's control and could add to their data costs without their awareness. For this reason, your application must minimize power usage when running under a locked screen, and adhere to the following requirements.
Important Note:
|
|---|
|
For the best user experience in applications that target Windows Phone OS 7.1, Microsoft strongly recommends that you utilize the following new features while your application runs under lock, instead of setting the ApplicationIdleDetectionMode property:
|
|
Requirement |
Requirement Text |
Test Steps |
|---|---|---|
|
6.3.1 - Minimize Power Usage When Running Under a Locked Screen |
All applications that run under a locked screen must stop any UI updates, active timers, and other non-critical processing when notified that the screen is locked. |
|
|
6.3.2 - Applications that play audio under a locked screen | ||
|
6.3.2.1 - Audio Playback and Battery Life Under a Locked Screen |
The minimum battery life of the phone must be greater than six hours while the application plays audio under a locked screen. |
|
|
6.3.2.2 - Idle Behavior Under a Locked Screen |
If an application is not playing audio when the phone is locked, the application must remain idle while the phone screen is locked. |
|
|
6.3.3 - Applications that do not play audio under a locked screen | ||
|
6.3.3.1 - Minimum Battery Life Under a Locked Screen |
The minimum battery life of the phone must be greater than 120 hours while the application is running under a locked screen. |
|
An application in the Music + Videos Hub provides an integrated music and video experience on the phone as its primary function. When an application calls the MediaHistory or MediaHistoryItem classes, it is considered to be a Music + Videos Hub application and will appear in the Extras list (known in Windows Phone OS 7.0 as Marquee list) when installed on the phone. The submission process detects that the application uses these classes and automatically updates the hub type to Music + Videos in the Windows Phone application manifest file.
The following requirements apply only to a Music + Videos Hub application.
|
Requirement |
Requirement Text |
Test Steps |
|---|---|---|
|
6.4.1 - Music + Videos Hub Application Functionality |
The application functionality must be related to video and/or music media playback. |
|
|
6.4.2 - Music + Videos Hub History and Now Playing List Functionality |
When a user taps a tile associated with the application in the History or Now Playing list of the Music + Videos Hub, the application must either (a) launch the playback experience for the content identified in the tile, or (b) launch a view that provides information about the previously played media content and allows the user to resume. The application must not launch to the main or default landing page when the user taps on a content tile in the History, Now Playing, or New list of the Music + Videos Hub. |
|
|
6.4.3 - Music + Videos Hub History List Updates |
The application must update the History list of the Music + Videos Hub when the application plays media. |
|
|
6.4.4 - Music + Videos Hub New List Updates |
The application must update the New list of the Music + Videos Hub when media is added to the device or when the user creates an "object" in the application (for example, a radio station is created, a music tag is created.) |
|
|
6.4.5 - Music + Videos Hub Containers |
When the media is associated with a container, the hub tile in New and History lists in the Music + Videos Hub must represent a valid container, such as album, artist, playlist, radio station, rather than individual media items. |
|
|
6.4.6 – Music + Videos Hub Content |
The hub tiles in the Music + Videos Hub must not contain advertisements, media feeds, or other unsolicited content. |
|
|
6.4.7 – Music + Videos Hub Iconography Rules |
Comply with the iconography rules for the Music + Videos Hub as documented in the How to: Integrate with the Music and Videos Hub for Windows Phone topic. |
|
Important Note:
|
|---|
|
Requirements in section 6.5 do not apply to Music + Videos Hub applications, as described in section 6.4. |
An application can play media in the background while it is running even when its primary function is not related to music or video. An application that plays music, audio, or sound effects must meet the following requirements:
|
Requirement |
Requirement Text |
Test Steps |
|---|---|---|
|
6.5.1 – Initial Launch Functionality |
When the user is already playing music on the phone when the application is launched, the application must not pause, resume, or stop the active music in the phone MediaQueue by calling the Microsoft.Xna.Framework.Media.MediaPlayer class. If the application plays its own background music or adjusts background music volume, it must ask the user for consent to stop playing/adjust the background music (e.g. message dialog or settings menu). This prompt must occur each time the application launches, unless there is an opt-in setting provided to the user and the user has used this setting to opt-in. |
|
|
6.5.2 - Configurable Functionality |
If an application plays background music, the application must provide the user with configurable settings for both the background music, and the background music volume. |
|
|
6.5.3 - Applications that Play a Video or Audio Segment |
An application may interrupt currently playing music on the phone to play a non-interactive full motion video, or a non-interactive audio segment (e.g. cut-scene or media clip) without asking for user consent. An application must resume the music that was previously playing, once the application is closed. For more information on how to meet this requirement for Windows Phone OS 7.0, see Creating and Using an XNA Dispatcher Service. |
|
|
6.5.4 – SoundEffect and Background Music |
The SoundEffect class must not be used to play a continuous background music track in an application. |
|
With App Connect, your application can be launched from the "apps" menu (known as the "extras" menu in Windows Phone OS 7.0) and provide a rich user experience based on the picture that the user was viewing. For more information about how to extend the picture experience with App Connect, see Pictures Extensibility Overview for Windows Phone.
|
Requirement |
Requirement Text |
Test Steps |
|---|---|---|
|
6.6.1 - Applications That Extend The Picture Viewer: Functionality |
The application must implement the primary functionality associated with photo manipulation. |
|
|
6.6.2 - Applications That Extend The Picture Viewer: Declaration |
Windows Phone OS 7.0 The Extras.xml file in the root XAP package must be valid according to the description in the Photo Extras Application Extensibility for Windows Phone topic, located in the Windows Phone OS 7.0 documentation located here. Windows Phone OS 7.1 The application must correctly declare a picture viewer extension as described in Pictures Extensibility Overview for Windows Phone. | |
|
6.6.3 – Applications That Extend The Picture Viewer: Launch Behaviors |
The application must support two kinds of launch behaviors:
|
|
|
6.6.4 – Applications That Extend The Picture Viewer: Photo Manipulation |
The application must display and allow photo manipulation for the photo that is used to launch the application. |
|
With App Connect, your application can be launched from the "share" menu in the picture viewer and provide a rich user experience for sharing pictures to a web service. For more information about how to extend the pictures experience with App Connect, see Pictures Extensibility for Windows Phone.
|
Requirement |
Requirement Text |
Test Steps |
|---|---|---|
|
6.7.1 - Applications That Extend the Share Picker: Functionality |
The application must implement the primary functionality associated with photo sharing and uploading. |
|
|
6.7.2 - Applications That Extend the Share Picker: Launch Behaviors |
The application must support two kinds of launch behaviors:
|
|
The following requirements in section 6.8 apply only to applications developed for Windows Phone OS 7.1.
With App Connect, your application can be launched from the Pictures Hub, enabling a convenient launch experience for picture-related applications. For more information about how to extend the pictures experience with App Connect, see pictures extensibility overview for windows phone.
|
Requirement |
Requirement Text |
Test Steps |
|---|---|---|
|
6.8.1 Primary Application Functionality |
For Windows Phone OS 7.1 The primary functionality of the application must be related to the camera or to photos. |
|
The following requirements in section 6.9 apply only to applications developed for Windows Phone OS 7.1.
For more information about background audio, see Background Audio Overview for Windows Phone.
|
Requirement |
Requirement Text |
Test Steps |
|---|---|---|
|
6.9.1- User Initiated Background Audio |
For Windows Phone OS 7.1 The application must not initiate background audio playback unless a user activates a discoverable UI element that the application provides. |
|
|
6.9.2 – Stopping Background Audio |
For Windows Phone OS 7.1 When the application is in the foreground, the application must provide the user with a discoverable UI element that allows the user to stop audio playback. |
|
|
6.9.3 – Universal Volume Control Commands |
For Windows Phone OS 7.1 An application must stop playing audio in the background when the user taps the stop button on the universal volume control. If the playback service supports the pause action, pausing the background audio through the universal volume control must pause or restart the audio according to the user's actions. |
|
|
6.9.4 – Universal Volume Control Strings |
For Windows Phone OS 7.1 When background audio from an application plays, the metadata sent from the application to be displayed in the universal volume control must describe the audio, such as the song, track, artist, playback status or application name. Application error codes must not be displayed in the universal volume control. Advertisements and other irrelevant content are prohibited in the universal volume control. |
|
|
6.9.5 – Background Audio Streaming Agent |
For Windows Phone OS 7.1 An application that uses the AudioStreamingAgent API must use it only to perform tasks related to audio playback and management of associated metadata. |
|
The following requirements in section 6.10 apply only to applications developed for Windows Phone OS 7.1.
For more information about background file transfers, see Background File Transfers Overview for Windows Phone.
|
Requirement |
Requirement Text |
Test Steps |
|---|---|---|
|
6.10.1 – User-Initiated Background Transfers |
For Windows Phone OS 7.1 The application must not initiate a background transfer unless a user activates a discoverable UI element that the application provides. |
|
|
6.10.2 – Status of Background Transfers |
For Windows Phone OS 7.1 The application must allow a user to view the status of all active and pending background transfers through a discoverable UI element while the application is in the foreground. |
|
|
6.10.3 – Cancelling Background Transfers |
For Windows Phone OS 7.1 The application must provide a user with a discoverable UI element that allows the user to cancel an active or pending background transfer. |
|
