3 out of 22 rated this helpful Rate this topic

Additional Requirements for Specific Application Types

Windows Phone

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

  • Present a user-friendly message to indicate that location data is not available.

  1. Navigate to the Location page under the Settings menu and set Location services to 'on'.

  2. Launch your application.

  3. Click the Home button on the device to return to the Home screen.

  4. Navigate back to the Location page under the Settings menu and set Location services to 'off'.

  5. Launch your application and verify that the application remains responsive.

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.

  1. Launch your application.

  2. Ensure that the application UI or Settings menu enables the user to disable toast notifications.

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 noteImportant 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.

  1. Launch your application.

  2. Verify that the application prompts the user upon first use of the BindToShellToast method. This prompt must request explicit permission to receive toast notifications.

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 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:

  • Fast Application Switching, a built-in feature of the OS that provides substantial improvements to state maintenance and performance when an application moves to and from the background.

  • Background agent features, as described in Multitasking for Windows Phone, for scenarios such as background transfers and background audio playback.

    For more information, see Execution Model for Windows Phone.

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.

  1. Launch your application.

  2. Lock the device.

  3. Verify that any user interface updates, active timers and other non-critical processing activities are halted by the application.

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.

  1. Launch your application.

  2. Play a music file.

  3. Lock the device.

  4. Verify that the battery life is greater than six hours.

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.

  1. Launch your application.

  2. Ensure that no music files are playing on the device.

  3. Lock the device.

  4. Verify that the application does not play music, and the device stays idle.

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.

  1. Fully charge the phone battery.

  2. Turn on Airplane mode in the phone Settings page.

  3. Launch your application.

  4. Lock the device.

  5. Verify that the battery life is at least 120 hours.

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.

  1. Launch your application.

  2. Verify that the application functionality is related to video and/or music media.

  3. Verify that the application handles music and/or video playback.

  4. Verify that the application appears in the Extras list (known in Windows Phone OS 7.0 as Marquee list) when installed on the phone.

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.

  1. Tap on a music or video tile in the History or Now Playing list of the Music + Videos Hub.

  2. Verify that the application launches the playback experience.

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.

  1. Launch your application.

  2. Play back a video or music media file within the application.

  3. Navigate to the Music + Videos Hub and ensure that the History list contains information about the video or music media file that you played.

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.)

  1. Launch your application.

  2. Create an object such as a radio station or a music tag within the application.

  3. Navigate to the Music + Videos Hub and ensure that the New list contains information about the object that you 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.

  1. Launch your application.

  2. Within the application, create a container of video and/or music media. For example, an album, artist, playlist or radio station, not an individual media item.

  3. Playback the container contents.

  4. Navigate to the Music + Videos Hub.

  5. Verify that the New and History lists are updated.

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.

  1. Navigate to the Music + Videos Hub.

  2. Verify that each music and video tile does 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.

  1. Navigate to the Music + Videos Hub.

  2. Verify that each music or video tile contains the application title or logo.

  3. Verify that each music or video tile in the Now Playing list is 358 x 358 pixels.

  4. Verify that each music or video tile in any other list is 173 x 173 pixels.

  5. Verify that the Title property of the MediaHistoryItem class contains text that represents its content, such as a station name or video title.

Important note 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.

  1. Play a music file.

  2. Launch your application.

  3. Verify that while the application loads, it does not pause, resume or stop the actively playing music.

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.

  1. Launch your application.

  2. Verify that the application allows a user to configure the background music or background music volume of the application.

  3. Verify that changes made to these settings do not affect music playback on the device after the application closes.

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.

  1. Play a music file.

  2. While the music file plays, launch your application.

  3. Play a non-interactive, full-motion video file or a non-interactive audio segment within the application.

  4. When the file or audio segment completes, the background music of the device must resume from where it was paused.

6.5.4 – SoundEffect and Background Music

The SoundEffect class must not be used to play a continuous background music track in an application.

  1. Navigate to the Music + Videos Hub.

  2. Play a music file in the Music + Videos Hub.

  3. Ensure that your application is set up to play background music upon launch.

  4. Launch your application.

  5. Verify that the background music of your application does not overlap with the music being played from the Music + Videos Hub.

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.

  1. Launch your application.

  2. Verify that the application is able to manipulate photos. For example, verify that the application is able to list, open, show or edit photos.

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:

  1. When an application is launched from the application list without an input photo, the application must invoke the PhotoChooser method to enable the user to pick up a photo or capture a new one.

  2. When an application is launched from the "apps" menu (known as the "extras" menu in Windows Phone OS 7.0) in the picture viewer with an input photo in the JPEG file format, the application must implement a functionality to allow the user to manipulate the input photo without any photo selection steps.

  1. On the Windows Phone start page, tap the Pictures application.

  2. Navigate to a picture.

  3. Tap the three dots at the bottom of the page on the Application Bar.

  4. Tap the "apps" menu option ("extras" in Windows Phone OS 7.0) and tap your application name.

  5. Verify that the application allows manipulation of the photo.

  6. Navigate back to the Start screen and launch your application from the application list.

  7. Verify that the application allows the user to choose a photo.

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.

  1. On the Windows Phone start page, tap the Pictures application.

  2. Navigate to a picture.

  3. Tap the three dots at the bottom of the page on the Application Bar.

  4. Tap the "apps" menu option ("extras" in Windows Phone OS 7.0) and tap your application name.

  5. Verify that the photo that was clicked is visible and able to be manipulated upon launch of 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.

  1. Launch your application.

  2. Verify that the primary functionality of the application is to upload photos.

6.7.2 - Applications That Extend the Share Picker: Launch Behaviors

The application must support two kinds of launch behaviors:

  1. When an application is launched from the app list without an input photo, the application must invoke the PhotoChooser method to enable the user to pick up a photo or capture a new one.

  2. When an application is launched from the share picker through the photo viewer with an input photo in the JPEG file format, the application must implement a functionality to allow the user to upload or share the input photo without any photo selection steps.

  1. On the Windows Phone start page, tap the Pictures application.

  2. Navigate to a picture.

  3. Tap the three dots at the bottom of the page on the Application Bar.

  4. Tap the "share" menu option and tap your application name.

  5. Verify that the application allows the user to upload or share the photo.

  6. Navigate back to the Start screen and launch your application from the application list.

  7. Verify that the application allows the user to choose a photo to upload.

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.

  1. On the Windows Phone start page, tap the Pictures application.

  2. Navigate to the "apps" pane.

  3. Launch your application from the "apps" pane.

  4. Verify that the primary functionality of the application is 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.

  1. Launch your application.

  2. Verify that there is a discoverable UI element in the application that allows background audio playback.

  3. Activate the UI element to begin background audio playback.

  4. Verify that background audio playback begins.

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.

  1. Launch your application.

  2. Begin audio playback.

  3. Verify that the UI element that stops audio playback is discoverable within the application.

  4. Activate the UI element to stop audio playback.

  5. Verify that the audio playback stops.

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.

  1. Launch your application.

  2. Begin audio playback.

  3. Close the application.

  4. Verify that the audio continues to play in the background.

  5. View the universal volume control.

  6. If the playback service supports the pause command, pause the audio through the universal volume control, verify that playback is paused, restart the audio through the universal volume control, and verify that playback restarts.

  7. Stop the audio through the universal volume control.

  8. Verify that the playback stops.

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.

  1. Launch your application.

  2. Begin audio playback.

  3. Close the application.

  4. Verify that the audio continues to play in the background.

  5. View the universal volume control.

  6. Verify that the metadata for the audio playback appears and is relevant to the audio content.

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.

  1. Launch your application.

  2. Close the application.

  3. Verify that the Background Audio Streaming Agent is only being used to stream the intended audio content and related metadata management.

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.

  1. Launch your application.

  2. Verify that there is a discoverable UI element in the application that allows background transfers.

  3. Activate the UI element to begin a background transfer.

  4. Verify that a background transfer occurs.

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.

  1. Launch your application.

  2. Initiate a background transfer.

  3. Verify that there is a discoverable UI element that displays transfers that are in progress.

  4. Verify that the UI element correctly displays the background transfer.

  5. Activate the UI element that stops the background transfer.

  6. Verify that the progress UI element does not show the stopped background transfer.

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.

  1. Launch your application.

  2. Initiate a background transfer.

  3. Verify that there is a discoverable UI element that allows a user to cancel the background transfer.

  4. Activate the UI element to stop the background transfer.

  5. Verify that the background transfer stops and is no longer displayed in related UI elements.

Did you find this helpful?
(1500 characters remaining)