本文介绍了 Windows Phone 应用程序或游戏要通过认证并在 Windows Phone Marketplace 中发布而必须满足的策略和技术要求。

1.0 计划概述


设计认证过程的一个核心原则是:每个策略或要求都是清晰、客观且可测试的。此透明原则旨在帮助开发人员轻松地设计和测试满足这些要求的应用程序。

下面列出了认证计划的主要内容:

  1. 应用程序很可靠。
  2. 应用程序有效地利用了资源。
  3. 应用程序不妨碍手机的其他功能。
  4. 应用程序不是恶意软件。

1.1 需要了解的提交和认证过程内容

在准备将应用程序发布到 Windows Phone Marketplace 之前,必须先执行认证过程。在应用程序提交之前不需要签名。

认证过程包括静态验证和自动测试应用程序,以验证其是否满足所有策略和要求。下面列出了 5 种主要的策略和要求类别:

  • 应用程序策略
  • 内容策略
  • 应用程序提交要求
  • 技术认证要求
  • 对特定应用程序类型的其他要求

下面是一个简单的提交和认证过程图示。

重要提示:

当提交应用程序更新进行认证时,其认证过程与原始应用程序的认证过程相同。

1.1.1 过程概述

下面简单地概述了提交和认证过程:

  1. 使用您的帐户登录到 App Hub。
  2. 创建新的应用程序提交。
  3. 上传应用程序 XAP 文件。
  4. 输入应用程序的元数据,比如标题、描述、类别和图解。
  5. 选择发行国家/地区和价格。
  6. 在输入这些元数据时会验证 XAP 文件。
  7. 如果 XAP 文件验证成功,提交过程将继续进行步骤 8;否则过程终止并通知您。通过认证过程之后,可以选择立即发布选项,也可以稍后再发布。
  8. 文件重新打包 XAP,如 4.1.2 节所述。
  9. 重新打包的 XAP 文件会部署到手机以进行认证测试。认证测试包括自动和手动验证应用程序是否满足 2、3、4、5 和 6 节中所描述的要求。
  10. 如果应用程序满足所有要求,则重新打包的 XAP 文件和程序集文件将获得签名,并且会根据步骤 7 的选项发布应用程序。
  11. 如果应用程序不满足其中一个或多个要求,您将得到一个故障报告,并且无法发布应用程序。

1.1.2 代码签名

当应用程序准确无误地成功通过认证测试后,会自动进行代码签名。还会使用 Authenticode® 证书对应用程序和重新打包的 XAP 文件进行签名,这个证书是在注册为 App Hub 成员时分配给您的。证书签发后,不会保留之前签发给应用程序和 XAP 文件的任何签名。

重要提示:

在将所有应用程序安装到投放市场的 Windows Phone 设备并在其上运行之前,都必须使用 Microsoft 签发的 Authenticode 证书对他们进行签名。

2 应用程序策略


为了保护 Windows Phone Marketplace 的服务及其用户,并满足移动运营商的需求,Microsoft 对于在 Windows Phone Marketplace 中分发的应用程序制定了以下策略。Microsoft 保留在必要时更新本策略的权利。

要求

要求内容

2.1

从 Windows Phone Marketplace 中获取的应用程序必须提供完备的功能(下文允许的外部数据存取除外)。除非您与用户已存在计费支付关系,否则您不得要求用户在使用过程中、在 Windows Phone Marketplace 之外支付费用以激活、解锁或延长该应用程序的使用。

2.2

您的应用程序不得用于销售、绑定或以其他方式推广移动语音服务套餐。

2.3

您的应用程序不得危害 (a) Windows Phone 设备或 (b) Windows Phone Marketplace 的安全或功能。

2.4

如果您的应用程序包含或显示广告,则该广告必须符合 Microsoft 广告创意承诺原则指南 (Microsoft Advertising Creative Acceptance Policy Guide),并且该应用程序必须具有独特的、实质的及合法的内容和目的,而不仅仅是广告的展示。

2.5

如果您的应用程序需要另外下载一个大的数据包(例如,大于 50 MB),以使该应用程序的运行与描述一致,则该应用程序的描述必须说明该数据包的估计大小,并且说明用于获取数据的网络连接可能引起额外费用。

2.6

如果您的应用程序支持聊天、即时消息传递或其他形式的个人到个人的沟通,并允许用户使用移动设备设置或创建其帐户或 ID,则该应用程序必须包含验证机制,以确认创建帐户或 ID 的用户年龄在 13 岁或以上。

2.7

以下要求适用于使用 Microsoft Location Service API 接收用户移动设备的位置的应用程序:

2.7.1

您的应用程序必须使用 Microsoft Location Service API 确定位置。

2.7.2

您的应用程序的隐私策略必须通知用户的信息包括,如何使用和公开从 Location Service API 获取的位置数据,以及用户对位置数据的使用及共享所具有的控制。

2.7.3

您的应用程序必须在应用程序中提供设置,使用户可以启用或禁止应用程序通过 Location Service API 访问和使用位置。

2.7.4

如果您的应用程序向其他服务或其他个人(包括广告网络)发布或提供从 Location Service API 获取的位置数据,则您的应用程序必须实施一个获得选择加入许可的方法。为了实现一个征得用户许可的方法,该应用程序必须 (a) 首先描述如何使用或共享位置信息;(b) 在按所描述的方式发布位置信息之前获取用户的明确许可;并且 (c) 提供一个机制,用户可通过该机制在以后选择退出位置信息的发布。您的应用程序必须定期提醒用户或提供一个可视的指示器,表明位置数据正在被发送给其他服务或个人。

2.7.5

您的应用程序不得替代、避开或隐藏任何与 Location Service API 相关的 Microsoft 用户通知或提示。

2.7.6

您的应用程序不得替代或避开用户在移动设备上禁用位置服务的选项。

2.7.7

您的应用程序必须仅在必要时才向 Location Service API 请求位置信息并保留和使用这些位置数据,以提供应用程序承诺提供给用户的位置感知功能。

2.7.8

您和您的应用程序必须采取措施,以防止未经授权地访问、使用或公开从 Location Service API 接收的位置数据。

2.8

如果您的应用程序从移动设备向任何服务或其他个人发布用户的个人信息,则该应用程序必须实现一个征得用户许可的方法。个人信息是指与某位可识别的用户相关的所有信息或数据,包括但不限于以下内容,且与其保存位置(移动设备或可从移动设备访问的基于 web 的服务器)无关:

  • 联系人
  • 照片
  • 电话号码
  • 短信或其他文本通信
  • 浏览历史记录

为了实现一个征得用户容许的方法,该应用程序必须 (a) 提供隐私策略,该策略至少必须描述如何使用或共享个人信息;(b) 在按所描述的方式发布信息之前获取用户的明确许可;并且 (c) 提供一个机制,使用户可通过该机制随后选择退出信息的发布。

2.9

如果您的应用程序使用 Microsoft 推送通知服务 (Microsoft Push Notification Service),则该应用程序及 Microsoft推送通知服务的使用必须符合以下要求:

2.9.1

该应用程序必须首先描述所提供的通知并获取用户的明确许可(选择加入),而且必须提供一个机制,用户可以通过该机制在以后选择退出接收推送通知。使用 Microsoft 推送通知服务提供的所有通知必须与提供给用户的描述一致,并且必须符合所有适用的应用程序策略和内容策略。

2.9.2

该应用程序及其 Microsoft 推送通知服务的使用不得过度占用网络容量或 Microsoft 推送通知服务的带宽,或由于过多的推送通知对 Windows Phone、其他 Microsoft 设备或服务造成负担,Microsoft 将基于其合理的考虑进行判断;并且该应用程序不得危害或干扰任何 Microsoft 网络或服务器,或连接到 Microsoft 推送通知服务的任何第三方服务器或网络。

2.9.3

Microsoft 推送通知服务不得被用于发送关键任务或其他生命攸关的事件通知,包括但不限于与医疗设备或状态相关的关键通知。MICROSOFT 明确声明不能保证 MICROSOFT 推送通知服务的使用或 MICROSOFT 推送通知服务通知的交付不中断、无错误,或以其他方式承诺上述服务的实时性。

2.10

您的应用程序必须具有独特的、实质的及合法的内容和目的,而不是仅仅启动一个网页。

3 内容策略

为了保护 Windows Phone Marketplace 的服务及其用户,并满足移动运营商的要求,Microsoft对于在 Windows Phone Marketplace 中发布的内容和元数据制定了以下策略。Microsoft 保留在必要时更新本策略的权利。

Windows Phone 游戏

如果您的应用程序通过了具备资质的游戏评级委员会(当前包括 CERO、CRB、DJCTZ、ESRB、FPB、GRB、OFLC-新西兰、PEGI 和 USK)的评级,则需要提交该应用程序的有效等级证书及其适当的内容描述。提交给巴西,韩国和南非的游戏需要包含游戏等级。

如果提交游戏的限制性评级等于或小于 CERO的“B” 、CRB的“PG” 、DJCTO的“12” 、ESRB 的“T”、FPB的“13” 、GRB的“12” 、OFLC-新西兰的“PG” 、PEGI 的“12”或者 USK 的“12”,则该游戏被认为符合本内容策略。游戏评级为CERO的“Z” 、CRB的“MA 15+” 、DJCTO的“18” 、ESRB 的“M”、FPB的“18” 、GRB的“15” 、OFLC-新西兰的“R18” 、PEGI 的“18”或者 USK 的“18”,也可以接受,但由于受到Windows Phone的“分级控制”而不能下载。

3.1 授权内容、名称、徽标和商标


允许的内容如下:

  • 内容和应用程序名称是独创的或得到许可的。
  • 允许使用受版权保护的内容。商标项(徽标/商标)的使用经过了商标所有者的批准。
  • 如果应用程序描述了任一移动或有线电话、手持 PDA 或者任何其他数据和语音通信设备,则该应用程序肯定是通用的或者是 Windows Phone 设备。
  • 应用程序供应商有责任确定是否有权使用所选的名称、内容、徽标、版权、商标、在线服务和 API。

3.2 非法的或设想的危害


不允许的内容如下:

  • 任何违反当地适用法律的淫秽或庸俗的内容。
  • 任何描述或鼓励在现实世界中对人或动物进行伤害或实施暴力的内容。

3.3 诽谤、中伤、诋毁、威胁


不允许的内容如下:

  • 任何诽谤、中伤、诋毁或威胁内容。
  • 任何促进或宣传上述指导原则所禁止内容的内容。

3.4仇恨言论或歧视性


不允许的内容如下:

  • 任何主张歧视、仇恨或者基于种族、民族、国籍、语言、性别、年龄、生理缺陷、社会地位、宗教、性取向的暴力或表述,或者促进致力于上述目标的组织的内容。这些内容可能包括记录一个种族、性别、性取向或宗教信仰负面成见的图片或文本。我们更倾向于抵制有证据表明有意发帖骚扰、威胁或侮辱个人或团体的内容。

3.5酒精、烟草、武器和毒品


不允许的内容如下:

  • 无论目标市场是哪里,任何促进或宣传(直接或间接)非法的(在适用的当地法律允许的范围内)或者过度出售或使用任何地区/场所不允许的酒精或烟草产品、毒品或武器的内容。

3.6 成人相关的内容


不允许的内容如下:

  • 性/裸体 ——性暗示或性刺激(比如,挑逗性的性接触、性虐待、自慰)图片;显示乳头、生殖器、臀部或阴毛的挑逗性图片。
  • 正常人认为是成人或成人边缘的内容(图片、文本或音频)。
  • 通常属于色情类的内容。
  • 描绘或暗示卖淫嫖娼的内容。
  • 描写儿童或动物性关系的内容。
  • 描写特殊性癖好的内容。

3.7 特定类型的非法活动


不允许的内容如下:

  • 任何促进或宣传非法赌博、非法成人内容和/或色情文学、儿童色情作品、人兽性交、剽窃、网上非法药店、违规药品或犯罪或恐怖活动的内容。
  • 任何指导用户如何制作炸弹或武器、毒品,或者招揽用户参与当地适用法律所谓的暴力或非法行为的内容。
  • 擅自使用另一个实体的知识产权,包括但不限于:软件、音乐、艺术品以及其他受版权、商标或专利保护的材料或商业机密。
  • 任何促进或宣传未成年饮酒、非法使用毒品或者由于酒精或毒品使用导致社会危害行为(比如醉酒驾驶)的内容。
    • 根据应用程序供应商认可的其他合同条款,允许支持在合法赌博的管辖区域内进行合法赌博的应用程序。

3.8 暴力


不允许的内容如下:

  • 现实暴力或恣意暴力,包括以下描述:
  • 斩首、刺穿、鲜血飞溅/鲜血喷射/血流成河或淤血
  • 身体部位爆炸
  • 枪支/武器瞄准用户/观众(例如,“俄罗斯轮盘赌”游戏)
  • 人或动物起火燃烧
  • 虐待动物
  • 人或动物痛苦的声音
  • 非自愿的或肢体反抗的带有暴力或非法暗示的性暴力
  • 强奸以及性侵犯
  • 骚扰以及儿童性虐待
  • 伤害或以其他方式伤害现实世界中的人或团体的要求或指令
  • 歌颂危害人类的罪行,比如集体屠杀和酷刑。
    • 勒死/绞死

3.9 过分亵渎


不允许的内容如下:

  • 任何过度使用亵渎性或成人语言的内容。

4 应用程序提交要求

在提交过程中将验证以下要求。这一过程包括检查元数据及验证您上传的 XAP 文件。

4.1 安装程序包的验证


程序集和数据文件必须被打包为一个 XAP 文件包。Visual Studio® 2010 Express for Windows Phone 生成必要的 XAP 程序包和清单文件。

要求

要求内容

4.1.1 – 程序包要求列表

XAP 程序包文件最大为 225 MB。

XAP 程序包必须包含以下内容:

  • 一个有效的 Windows Phone 应用程序清单文件,其名称为 WMAppManifest.xml。有关更多信息,请参阅 Windows Phone 的应用程序清单文件主题。
  • WMAppManifest.xml 文件中的 <Title> 元素必须包含应用程序标题。<Title> 元素不得为空。在 Windows Phone Marketplace 的提交过程的第 2 步中输入的应用程序标题 (Application title) 和在手机中显示的标题必须一致。

有关设置应用程序和平铺标题的更多信息,请参阅 如何为 Windows Phone 的应用程序平铺图标设置初始属性

  • 一个有效的 .NET 应用程序清单文件,其名称为 AppManifest.xml。
  • 在 AppManifest.xml 文件中指定的程序集文件。
  • 您希望在手机的应用程序列表中显示的移动应用程序小平铺图标。游戏必须使用移动应用程序大平铺图标替代移动应用程序小平铺图标。移动应用程序小平铺图标必须是一个 62 x 62 像素的 PNG 文件。
  • 当用户在手机的开始 (Start) 体验中将应用程序锁定到快速启动区域时,希望显示的移动应用程序大平铺图标。移动应用程序大平铺图标必须是一个 173 x 173 像素的 PNG 文件。

4.1.2 - XAP 文件重新打包过程

当您向 Windows Phone Marketplace 提交 XAP 文件时,该文件将被解压缩、验证并重新打包。

重新打包包含以下步骤:

  • Windows Phone 应用程序清单为每个应用程序提供一个产品标识符。
  • 重新发现并在清单中列出安全功能。
  • 在 Windows Phone 清单中设置手机体验集线器 (Hub) 类型(例如, Music + Videos Hub)。
  • 创建数字版权管理头文件并将其命名为 WMAppPRHeader.xml。
  • 程序包的原始内容、最新的 Windows Phone 应用程序清单以及数字版权管理头文件被压缩为一个新的 XAP 程序包。

4.2 应用程序代码验证


要求

要求内容

4.2.1

您必须使用在 Windows Phone Application Platform 上支持的记录的 API 开发应用程序。有关更多信息,请参阅 Windows Phone 类库参考主题。

想要获取Windows Phone OS 7.1的新的和改进的API的信息,和Windows Phone OS两个版本的兼容性信息,可以参考“Windows Phone OS 兼容性”。

4.2.2

应用程序不得通过 PInvoke 或 COM 互操作性调用本机代码。如果它进行了该调用操作,将无法完成认证过程。

4.2.3

应用程序必须使用零售配置而不是调试来进行编译。应用程序不得包含调试符号或输出。

4.2.4

应用程序不得重新发布 Windows Phone 程序集。但是,您可以重新发布全景图、透视透视表和地图程序集。

4.2.5

在使用 System.Windows.Controls 命名空间中的任何方法时,应用程序不得调用 Microsoft.Xna.Framework.Game 程序集或 Microsoft.Xna.Framework.Graphics 程序集中的任何 API。

4.3 手机功能检测


当您使用 Visual Studio 2010 Express for Windows Phone 创建一个 Windows Phone 项目时,将自动生成 Windows Phone 应用程序清单文件,它包含了 Windows Phone 所支持的全部手机功能的列表。在应用程序清单文件中列出的手机功能将在应用程序购买过程中向用户显示。此外,操作系统将根据在清单文件中所列出的功能向应用程序授予安全权限。有关更多信息,请参阅 Windows Phone 应用程序清单文件 主题。

应用程序提交过程使用 Microsoft 中间语言 (MSIL) 代码分析来检测手机功能。如 4.1.2 节的步骤 b 所述,在您的应用程序中检测到的手机功能将在 Windows Phone 应用程序清单文件中列出,并替换已有的功能。

您可以提交一个带有模糊代码的应用程序,并且检测过程仍然适用。

功能检测过程不会发现通过 .NET 反射调用的 Windows Phone API。因此,应用程序将没有正常运行所需的安全权限,并将导致认证过程失败。

Microsoft 建议测试应用程序时所使用的手机功能,应该与在应用程序提交过程中所检测到的手机功能一致。为了做到这一点,您可以运行 Windows Phone Capability Detection 工具并将该工具所检测到的手机功能写入应用程序清单文件。完成该步骤并建立应用程序之后,如果出现错误报告,则表示该应用程序可能使用了未记录的 API 或通过 .NET 反射调用 API。有关更多信息,请参阅 如何使用 Windows Phone 的功能检测工具 主题。

注意:

在应用程序更新过程中,功能列表可能会改变。当提交一个应用程序更新来进行认证时,其认证过程与原始应用程序的过程是相同的。

4.4 语言验证


每个应用程序的发布应针对至少一个特定地域市场及语言。您可以针对多个市场并使用多种语言提交您的应用程序。语言检测过程包括对用于描述该应用程序的元数据,以及在该应用程序中使用的 UI 文本的评估。

下面的列表显示了在 Windows Phone 中支持的语言:

  • 英语
  • 法语
  • 意大利语
  • 德语
  • 西班牙语

要求

要求内容

测试步骤

4.4 语言验证

应用程序必须至少以一种 Windows Phone Marketplace 支持的应用程序语言进行本地化。

一个Windows Phone应用程序如果没有设置一个中立的语言将会提交失败。想要获取更多关于怎样本地化应用程序和怎样设置一种中立语言的信息,可以参考:“怎样编译一个本地化Windows Phone应用程序”。

4.5 Windows Phone Marketplace 图解


要求

要求内容

测试步骤

4.5 Windows Phone Marketplace 图解

您必须为每个应用程序提交一个图标,以在 Windows Phone Marketplace 目录中代表您的应用程序。该图标必须与 XAP 程序包中所提供的图标完全一致。用户在进行购买之前,将在浏览手机中的应用程序目录时看到该图标。

警告:

不要对以下手机应用程序图标使用透明的 PNG 图像文件。

  • 在手机的 Windows Phone Marketplace 中使用的移动应用程序的小平铺图标(必需的),大小为 99 x 99 像素。
  • 在手机的 Windows Phone Marketplace 中使用的移动应用程序的大平铺图标(必需的),大小为173 x 173 像素。
  • 在手机的 Windows Phone Marketplace 中使用的 PC 应用程序的大平铺图标(必需的),大小为200 x 200 像素。
  • 在背景全景图中使用的背景画(可选的),大小为 1000 x 800 像素。
  1. 定位您计划和您的应用程序一起提交的图解文件。
  2. 确认该图标代表该应用程序,并且该图标与 XAP 程序包完成安装后在设备上出现的图标一致。
  3. 确认包含在提交中的所有适用图像文件具有正确的尺寸,并且是非透明的 PNG 格式。

4.6 应用程序屏幕截图


要求

要求内容

测试步骤

4.6 应用程序屏幕截图

对于每个应用程序,您必须提供至少一个或最多八个屏幕截图。用户在进行购买之前,将在目录的详细信息页面看到这些屏幕截图。

屏幕截图必须只包含应用程序图像,并且不得含有任何仿真器镶边。不允许图形增强的屏幕截图。

警告:

不要使用透明的 PNG 图像文件作为应用程序的屏幕截图。

有关更多信息,请参阅 如何为 Windows Phone Marketplace 创建屏幕截图

详细信息页面的屏幕截图必须是 480 x 800 像素的 PNG 文件。

  1. 定位应用程序屏幕截图文件。
  2. 确认每个屏幕截图显示了在应用程序运行时的手机屏幕或仿真器的直接截图。
  3. 确认每个屏幕截图都没有包含仿真器镶边。
  4. 确认每个屏幕截图都没有进行图形增强。
  5. 确认每个屏幕截图都是 480 x 800 像素,并且都是非透明的 PNG 文件。

4.7 应用程序平铺图像


要求

要求内容

测试步骤

4.7.1 适用的应用程序平铺图像

大的和小的移动应用程序平铺图像都必须代表该应用程序。

  1. 查看应用程序列表。
  2. 确认移动应用程序的小平铺图像代表该应用程序。
  3. 在应用程序列表中,轻点并按住应用程序的移动应用程序小平铺图像,然后选择锁定到开始。
  4. 确认开始屏幕中的移动应用程序大平铺图像代表该应用程序。

5技术认证要求

以下要求同样适用于执行游戏功能的应用程序(通常称为游戏)。

5.1 应用程序可靠性


要求

要求描述

测试步骤

5.1.1多设备支持

应用程序必须能够在所有 Windows Phone 设备上运行,而不考虑型号、屏幕大小、键盘硬件和制造商。

  1. 在两台或多台 Windows Phone 设备上安装您的应用程序。
  2. 确认应用程序是否能够正常安装和卸载。
  3. 完成上述测试后,确保已经安装了您的应用程序,然后启动应用程序。
  4. 全面测试应用程序的功能和特性,以确认不会存在特定设备上出现问题。
  5. 确认应用程序不会导致设备停止响应或崩溃。

5.1.2 应用程序关闭

应用程序必须处理 .NET Framework 引起的异常情况,并且不会意外关闭。认证过程会监控应用程序是否会意外关闭。意外关闭的应用程序不能通过认证。

在处理异常情况时,应用程序必须提供简单易懂的错误信息。您可能会提供有关应用程序上下文的消息。异常情况处理完毕后,应用程序必须继续运行并且仍能对用户输入做出响应。

显示通用或无用错误消息的应用程序不能通过认证。

  1. 启动您的应用程序。
  2. 浏览整个应用程序,然后关闭应用程序。
  3. 确认关闭过程中不会发生意外行为。
  4. 确认在出现应用程序错误后,应用程序仍能对用户输入和用户交互做出响应。
  5. 在手机处于“飞行”模式时,重复上述步骤。根据上述方法验证每个步骤。

5.1.3 应用程序响应

如果应用程序执行某项操作(比如通过网络连接下载数据)导致设备超过 3 秒钟无响应,则应用程序必须显示可视进度和忙碌指示器。

  1. 启动您的应用程序。
  2. 全面测试应用程序特性和功能。
  3. 在测试应用程序时,确认应用程序无响应的时间不会超过 3 秒钟。
  4. 确认在应用程序执行某项操作导致设备超过 3 秒钟无响应时显示进度指示器。
  5. 如果显示进度指示器,则确认应用程序会为用户提供选项以取消正在执行的操作。

5.2 性能和资源管理


警告:

快速切换是Windows Phone 7.1的一个新特性。为了获取更好的用户体验,微软建议:当设备解锁,用户按了“返回”键或者用户从任务列表恢复应用时,应用应该尽可能在1秒内回复正常。想要获取更多信息,可以参考:“Windows Phone的多任务”和“Windows Phone的执行模式”。

要求

要求描述

测试步骤

5.2.1 启动时间

  • 应用程序必须在启用后的 5 秒钟之内呈现第一个屏幕。

应用程序可能会在 XAP 程序包的根目录中名为 SplashScreenImage.jpg 的文件中显示启动屏幕图像,同时依然继续尝试加载应用程序。

  • 启动后的 20 秒内,应用程序必须对用户输入做出响应。
  1. 启动您的应用程序。
  2. 确认应用程序在启动后的 5 秒钟内呈现第一个屏幕。
  3. 确认应用程序在启动后的 20 秒内对用户输入做出响应。

5.2.2 应用程序关闭后仍保持响应

当用户离开 Windows Phone 应用程序后,操作系统会关闭并终止该应用程序。在关闭后重新启动应用程序时,其启动时间必须符合 5.2.1 节(启动时间)的要求。

  1. 启动您的应用程序。
  2. 使用“返回”按钮或者通过选择应用程序菜单中的“退出”功能关闭应用程序。
  3. 再次启动您的应用程序。
  4. 验确认应用程序在 5 秒钟内正常启动并能在启动后的 20 秒内做出响应。

5.2.3应用程序失效后仍保持响应

当用户点击了“开始”键,或者设备超时导致了锁屏,此时Windows Phone 应用程序会失效。当应用调用了Launcher 或者Chooser API的时候,Windows Phone 应用程序也会失效。

在Windows Phone 7.0系统中,当一个Windows Phone 应用程序失效时,会被“墓碑化”。在Windows Phone 7.1系统中,当一个Windows Phone 应用程序失效时,会被置成“休眠”状态。但是,如果是由资源使用策略引起的“墓碑化”,应用程序应该能够被系统终止运行。

应用被终止运行后,当再次被激活时,应用必须遵守5.2.1-启动时间的要求。

想要获取更多的信息和更好的示范,可以查阅“Windows Phone 执行模式概述

5.2.4 “返回”按钮的使用

为了保持一致的用户体验,“返回”按钮只能用于应用程序的向后导航。关于“返回”按钮的使用,共有以下四项要求。

5.2.4.1 – “返回”按钮:上一页

按“返回”按钮必须使应用程序返回至上一页,或者返回至返回堆栈中保存的上一页。

  1. 启动您的应用程序。
  2. 浏览整个应用程序。
  3. 按“返回”按钮。
  4. 确认应用程序关闭当前显示的屏幕,并将您返回至返回堆栈中保存的上一页。

5.2.4.2 – “返回”按钮:第一个屏幕

当应用程序显示第一屏时按“返回”按钮应用程序必须关闭。

  1. 启动您的应用程序。
  2. 按“返回”按钮。
  3. 确认应用程序是正常关闭,或者允许用户通过菜单或对话框中确认关闭应用程序。

5.2.4.3 – “返回”按钮:上下文菜单和对话框

如果当前页面显示上下文菜单或对话框,按“返回”按钮会关闭菜单或对话框,并使用户返回至打开上下文菜单或对话框的屏幕。

  1. 启动您的应用程序。
  2. 浏览整个应用程序。
  3. 显示上下文菜单或对话框。
  4. 点按“返回”按钮。
  5. 确认上下文菜单或对话框关闭,并返回至打开上下文菜单或对话框的屏幕。

5.2.4.4 – “返回”按钮:游戏

对于游戏,在游戏期间按“返回”按钮,游戏可能会选择显示暂停上下文菜单或对话框,或者将用户导航至上一个菜单屏幕。在暂停上下文菜单或对话框中再次按“返回”按钮,将关闭菜单或对话框。

  1. 启动您的游戏。
  2. 开始玩游戏。
  3. 点按“返回”按钮。
  4. 确认游戏暂停。

5.2.5 内存占用

应用程序的内存使用量不得超过 90 MB(内存超过 256 MB 的设备除外)。

您可以使用下面的类查询设备上的可用内存量,并在运行时修改应用程序行为,以充分利用其他内存。

DeviceTotalMemory 值表示物理内存大小,以字节为单位。此值小于实际的设备内存量。对于通过认证的应用程序,当 DeviceTotalMemory 小于或等于256 MB 时,Microsoft 建议 ApplicationPeakMemoryUsage 返回的值小于 90 MB。

5.2.6 试用应用程序

应用程序不得在紧凑循环中调用任一生成试用应用程序的 API。例如,游戏应用程序不得在游戏过程中调用任一生成试用应用程序的 API。不得频繁调用这些API,并且应对调用的返回值进行缓存。有关创建试用应用程序的最佳实践的信息,请参见 创建 Windows Phone 试用应用程序

5.3 手机功能


要求

要求描述

测试步骤

5.3.1

应用程序不得延误或阻止用户发出呼叫、接听来电或者结束通话。

  1. 确保手机具有有效的移动网络连接。
  2. 启动您的应用程序。
  3. 接听来电。
  4. 确认应用程序的声音或振动不会对手机的通话质量造成不良影响。
  5. 结束通话。
  6. 确认应用程序返回至原来的状态并恢复网络连接。
  7. 通过点按“开始”按钮关闭应用程序。
  8. 确认您能够成功发启呼叫。

5.3.2

应用程序不得延误或阻止用户发送或接收短信或彩信。

发送短信或彩信

  1. 确保手机具有有效的移动网络连接。
  2. 通过查看手机“设置”页面,确保手机并非处于“飞行”模式。
  3. 启动您的应用程序。
  4. 通过点按“开始”按钮关闭应用程序。
  5. 确认能够将短信或彩信发送至其他手机。

接收短信或彩信

  1. 确认手机具有有效的移动网络连接。
  2. 通过查看手机“设置”页面,确保手机并非处于“飞行”模式。
  3. 向手机发送短信和彩信,并等待最多 10 分钟。
  4. 通过点按“开始”按钮关闭应用程序。
  5. 确认手机在应用程序内或者在应用程序关闭后的 5 秒钟内显示短信或彩信的相关通知。

5.3.3

在接听来电或接收短信和彩信时,应用程序不得停止响应或意外关闭。

  1. 确保手机具有有效的移动网络连接。
  2. 通过查看手机“设置”页面,确保手机并非处于“飞行”模式。
  3. 接听来电,并接收短信或彩信。
  4. 确认接收通知时,应用程序不会停止响应或意外关闭。
  5. 完成上述步骤的验证后,单击消息通知或接听来电。
  6. 如果收到来电,则结束通话。
  7. 如果未能收到来电,则确认在通话结束时向用户显示应用程序,并且应用程序不会停止响应或意外关闭。
  8. 如果收到消息,则按“返回”按钮确认能够返回到应用程序。

5.4 安全性


要求

要求描述

测试步骤

5.4.1 恶意软件屏蔽

应用程序不得包含病毒、恶意程序以及任何恶意软件。

  1. 启动您的应用程序。
  2. 扫描应用程序以防止恶意程序。
  3. 确认应用程序中没有病毒、恶意程序或恶意软件。

5.4.2 MSIL 类型安全验证

Windows Phone 可执行多重沙盒机制,以帮助保护设备和设备上运行的应用程序的完整性。Windows Phone 公共语言运行时 (CLR) 依靠应用程序代码的类型安全执行,帮助强制执行安全和隔离机制。

应用程序必须执行 MSIL 类型安全代码以通过认证。有关 C# 不安全代码的更多信息,请参见 不安全代码和指针(C# 编程指南)

5.4.3 安全透明性验证

Windows Phone 应用程序平台不允许应用程序运行安全性苛求代码。调用安全性苛求代码的应用程序不能通过认证。

有关 .NET 安全模型的更多信息,请参见.NET Framework 4 中的安全变更

5.5 内容验证


要求

要求描述

测试步骤

5.5.1 – 语言验证

您的应用程序产品描述和用户界面上使用的文字必须本地化为该应用程序支持的每种语言。

  1. 查看应用程序的产品描述,并确认其是否已本地化至目标语言。
  2. 启动您的应用程序。
  3. 确认应用程序的用户界面文本已本地化至目标语言。

5.5.2 – 内容和主题

应用程序内容(比如文本和可视元素)必须清晰可见,而无论手机主题是什么。例如,如果手机主题从黑色背景更改为白色背景,则应用程序的文本和可视元素必须清晰可见。

  1. 导航至“应用程序列表”的“设置”页面。
  2. 点按“主题”并将“背景”更改为“深色”。
  3. 启动您的应用程序。
  4. 确认应用程序的文本和可视元素清晰可见。
  5. 返回“设置”下的“主题”页面,并将“背景”更改为“浅色”。
  6. 启动您的应用程序。
  7. 确认应用程序的文本和可视元素清晰可见。

5.6 技术支持信息


要求

要求描述

测试步骤

技术支持信息

应用程序必须包含应用程序名称、版本信息和技术支持联系信息,并且易于查找。

  1. 启动您的应用程序。
  2. 确认应用程序在显眼的位置显示应用程序名称、版本信息和技术支持联系信息。

6特定应用程序类型的其他要求

使用特定手机功能的应用程序必须符合以下其他要求。

6.1 – 位置感知应用程序


位置感知应用程序可使用 System.Devices.Location 命名空间中的类访问手机位置。有关更多信息,请参见Windows Phone 的位置服务主题。

要求

要求描述

测试步骤

6.1 – 位置感知应用程序

用户可以从手机的“系统设置”页面关闭位置服务。当手机上的位置服务关闭后,位置感知应用程序必须仍能做出响应。

建议

  • 显示简洁易懂的消息,表明位置数据不可用。
  1. 导航至“设置”菜单下的“位置”页面,将“位置服务”设置为“开”。
  2. 启动您的应用程序。
  3. 按手机上的“主屏幕”按键返回至主屏幕。
  4. 返回至“设置”菜单下的“位置”页面,将“位置服务”设置为“关”。
  5. 启动您的应用程序并确认应用程序仍能做出响应。

6.2 – 推送通知应用程序


Microsoft 推送通知服务可提供专业灵活、持续稳定的信道,以便将通知从 web 服务推送至手机。有关更多信息,请参见Windows Phone 的推送通知 主题。

要求

要求描述

测试步骤

6.2.1 – 可配置功能

在用户界面或“设置”菜单中,应用程序必须支持用户独立地禁用消息通知。

  1. 启动您的应用程序。
  2. 确保应用程序用户界面或“设置”菜单能够让用户禁用消息通知和“瓷砖”通知。

6.2.2 – 消息通知选择加入

当您的应用程序首次使用 BindToShellToast 方法时,该应用程序必须征求用户的明确许可以便接收消息通知。

重要提示:

您只需要在首次使用 BindToShellToast 方法时征求用户的许可。此后将不必再征求用户的许可。例如,如果您的应用程序每次进行加载时都要调用 BindToShellToast,则仅会在首次启动应用程序时对用户进行提示。

  1. 启动您的应用程序。
  2. 确认首次使用 BindToShellToast 方法时应用程序会对用户进行提示。此提示必须请求明确的许可,以便接收消息通知。

6.3 – 在锁定屏幕下运行的应用程序


通过设置 ApplicationIdleDetectionMode 属性,在手机屏幕锁定后前台应用程序仍能继续运行。

当您的应用程序在锁定屏幕下运行时,其耗费的电量可能会超出用户的控制范围,并且在用户不知情的情况下增加数据花费。为此,必须最大限度地减少应用程序在锁定屏幕下运行时的用电量,因此应遵循以下要求:

重点提醒:

为了在Windows Phone OS 7.1上获取最好的用户体验,微软建议当你的应用在锁屏状态下运行时,使用下面的新特性,而不是设置ApplicationIdleDetectionMode属性。

  • 快速切换,OS对内置特性进行了大量的改进,以提高应用在前后台切换时的性能。
  • 后台代理的特点,在“Windows  Phone的多任务”对此中有描述,例如后台数据传输和后台音频播放。

更多信息可以参考“Windows Phone 的执行模式”。

要求

要求描述

测试步骤

6.3.1 – 最大限度地减少在锁定屏幕下运行时的用电量

当提示屏幕锁定后,在锁定屏幕下运行的所有应用程序必须停止进行任何用户界面更新、活动计时器以及其他非关键操作进程。

  1. 启动您的应用程序。
  2. 锁定手机。
  3. 确认应用程序停止了所有用户界面更新、活动计时器以及其他非关键操作进程。

6.3.2 在锁定屏幕下播放音频的应用程序

6.3.2.1

应用程序在锁定屏幕下播放音频时,手机电池的最短使用时间必须大于 6 小时。

  1. 启动您的应用程序。
  2. 播放音乐文件。
  3. 锁定手机。
  4. 确认电池使用时间大于 6 小时。

6.3.2.2

如果应用程序在手机锁定后不播放音频,则在手机屏幕锁定后应用程序必须保持闲置状态。

  1. 启动您的应用程序。
  2. 确保手机上没有播放任何音乐文件。
  3. 锁定手机。
  4. 确认应用程序并未播放音乐,并且手机处于闲置状态。

6.3.3 – 在锁定屏幕下不播放音频的应用程序

6.3.3.1

应用程序在锁定屏幕下运行时,手机电池的最短使用时间必须大于 120 小时。

  1. 将手机电池充满电。
  2. 在手机“设置”页面开启“飞行”模式。
  3. 启动您的应用程序。
  4. 锁定手机。
  5. 确认电池使用时间至少为 120 小时。

6.4 – 音乐 + 视频服务应用程序


音乐 + 视频服务内的应用程序可在手机上提供音乐和视频综合体验作为其主要功能。当某个应用程序调用 MediaHistory 或MediaHistoryItem 类时,就将其视为音乐 + 视频服务应用程序,并且安装在手机上后显示在“字幕”列表中。提交流程检测到应用程序使用这些类,并在 Windows Phone 应用程序清单中自动将服务类型更新为音乐 + 视频。

以下要求仅适用于音乐 + 视频服务应用程序。

要求

要求描述

测试步骤

6.4.1

应用程序功能必须与视频和/或音乐媒体播放相关。

  1. 启动您的应用程序。
  2. 验证确认应用程序功能与视频和/或音乐媒体有关。
  3. 确认应用程序处理音乐和/或音频播放。
  4. 确认在手机上安装应用程序后,应用程序显示在“字幕”列表中。

6.4.2

当用户点按与音乐 + 视频服务的“历史记录”或“正在播放”列表有关的平铺图标时,应用程序必须 (a) 启动针对平铺中确定的内容的播放体验,或者 (b) 启动提供之前播放的媒体内容相关信息的视图,并允许用户继续播放。当用户点按音乐 + 视频服务的“历史记录”、“正在播放”或“新建”列表中的内容平铺图标时,应用程序不得启动主登录页面或默认登录页面。

  1. 点按音乐 + 视频服务的“历史记录”或“正在播放”列表中的音乐或视频平铺图标。
  2. 确认应用程序启动播放体验。

6.4.3

当应用程序播放媒体时,应用程序必须更新音乐 + 视频服务的“历史记录”列表。

  1. 启动您的应用程序。
  2. 播放应用程序内的视频或音乐媒体文件。
  3. 导航至音乐 + 视频服务,并确保“历史记录”列表包含您播放过的视频或音乐文件的相关信息。

6.4.4

在向手机添加媒体或用户在应用程序中创建“对象”(例如,创建无线电台;创建音乐标签)时,应用程序必须更新音乐 + 视频服务的 “新建”列表。

  1. 启动您的应用程序。
  2. 在应用程序内创建无线电台或音乐标签等对象。
  3. 导航至音乐 + 视频服务,并确保“新建”列表包含您创建的对象的信息。

6.4.5

当媒体与容器关联时,音乐 + 视频服务的“新建”和“历史记录”列表中的服务平铺图标必须表示有效容器(比如唱片集、艺术家、播放列表和无线电台),而不是独立的媒体项。

  1. 启动您的应用程序。
  2. 在应用程序内,创建视频和/或音乐媒体容器。例如,唱片集、艺术家、播放列表和无线电台,而不是独立的媒体项。
  3. 播放容器内容。
  4. 导航至音乐 + 视频服务。
  5. 确认“新建”和“历史记录”列表进行了更新。

6.4.6

音乐 + 视频服务中的服务平铺图标不得包含广告、媒体报道或其他未经许可的内容。

  1. 导航至音乐 + 视频服务。
  2. 确认每个音乐和视频平铺图标均不包含广告、媒体报道或其他未经许可的内容。

6.4.7

遵守音乐 + 视频服务中的图解规则,如如何集成 Windows Phone 音乐和视频服务主题所示。

  1. 导航至音乐 + 视频服务。
  2. 确认每个音乐或视频平铺图标均包含应用程序标题或徽标。
  3. 确认“正在播放”列表中的每个音乐或视频标题均为 358 x 358 像素。
  4. 确认其他任何列表中的每个音乐或视频标题均为 173 x 173 像素。
  5. 确认 MediaHistoryItem 类的Title 属性包含表示其内容的文本,比如电台名或视频标题。

6.5 – 播放媒体的非音乐 + 视频服务应用程序


重要提示:

6.5 节中的要求并不适用于音乐 + 视频服务应用程序,如 6.4 节所述。

即使应用程序的主要功能与音乐或视频无关,应用程序仍能在其运行时于后台播放媒体。播放音乐、音频或音响效果的应用程序必须符合以下要求:

要求

要求描述

测试步骤

6.5.1 – 初始启动功能

当用户于应用程序启动后在手机上播放音乐时,应用程序不得通过调用 Microsoft.Xna.Framework.Media.MediaPlayer 类,暂停、恢复或停止手机 MediaQueue 中播放的音乐。

如果应用程序要播放自己的背景音乐或者调整背景音乐音量,则必须获得用户的同意方可停止播放/调整背景音乐(例如“消息”对话框或“设置”菜单)。应用程序每次启动时均必须显示该提示,除非已向用户提供选择加入设置并且用户已经使用此项设置进行选择加入。

  1. 播放音乐文件。
  2. 启动您的应用程序。
  3. 确认在应用程序加载时,不会暂停、恢复或者停止正在播放的音乐。

6.5.2 – 可配置功能

如果应用程序播放背景音乐,则应用程序必须为用户提供针对背景音乐和背景音乐音量的可配置设置。

  1. 启动您的应用程序。
  2. 确认应用程序允许用户配置应用程序的背景音乐或者背景音乐音量。
  3. 确认对这些设置进行的更改在应用程序关闭后不会影响手机上的音乐播放。

6.5.3 – 播放视频或音频片段的应用程序

应用程序可能会在未征求用户同意的情况下,中断手机上当前播放的音乐,以播放非互动式全动视频或者非互动式音频片段(例如影片剪辑或媒体剪辑)。

应用程序必须在其关闭后,恢复之前播放的音乐。

  1. 播放音乐文件。
  2. 在播放音乐文件时,启动您的应用程序。
  3. 在应用程序内播放非互动式全动视频文件或者非互动式音频片段。
  4. 当文件或音频片段播放完毕后,必须从暂停位置继续播放手机背景音乐。

6.5.4 – 音效与背景音乐

不得在应用程序中使用 SoundEffect 类连续播放背景音乐。

6.6 – 照片附加程序


照片附加程序可让您集成照片修改应用程序与 Windows Phone 内置的照片应用程序。有关更多信息,请参见 Windows Phone 照片附加应用程序的扩展性

照片附加应用程序必须符合以下要求:

要求

要求描述

测试步骤

6.6.1

应用程序必须能够执行与照片处理相关的主要功能。

  1. 启动应用程序。
  2. 确认应用程序能够处理照片。例如,确认应用程序能够列出、打开、显示或编辑照片。

6.6.2

Windows Phone OS 7.0

根据 Windows Phone 照片附加应用程序的扩展性主题所述,XAP 程序包根中的 Extras.xml 文件必须有效。在Windows Phone OS 7.0文档描述在这里

Windows Phone OS 7.1

根据 Windows Phone 照片附加应用程序的扩展性主题所述,应用必须正确地,公开地作为一个照片附加应用。

6.6.3

应用程序必须支持以下两种启动行为:

  1. 当从“应用程序”列表(无需输入照片)启动应用程序时,应用程序必须调用 PhotoChooser 方法让用户选择照片或者捕获新的照片。
  2. 当应用程序使用 JPEG 文件格式的输入照片从照片查看器中的“附加程序”菜单启动应用程序时,应用程序必须执行让用户无需执行任何照片选择步骤即可处理输入照片的功能。
  3. 在Windows Phone开始界面,点击图片应用。
  4. 操作一张图片。
  5. 点击页面下方应用面板上的 三个点。
  6. 点击“应用”菜单(Windows Phone 7.0附加),并且点击应用程序名称。
  7. 确保该应用程序允许修改照片。
  8. 返回开始界面,从应用程序列表启动应用。
  9. 确保应用程序允许用户选择一张照片。
 

6.6.4 启动应用

应用程序必须是明显的,并且应用程序允许照片根据应用程序的启动进行修改。

  1. 在Windows Phone开始界面点击图片应用。
  2. 导航至一张图片。
  3. 点击页面下方应用面板上的三个点。
  4. 点击“应用”按钮(在Windows Phone OS 7.0上附加),并且点击你的应用程序名称。
  5. 确保点击照片是明显的,并且照片能够根据应用的启动进行修改。

6.7 – 照片共享应用程序


照片共享应用程序可以使用 Windows Phone 内置的共享选择器功能。有关更多信息,请参见如何使用 Windows Phone 的共享选择器扩展性

采用 Windows Phone 内置共享选择器功能的照片共享应用程序必须符合以下要求:

要求

要求描述

测试步骤

6.7.1

应用程序必须能够执行与照片处理相关的主要功能。

  1. 启动您的应用程序。
  2. 确认应用程序的主要功能是加载照片。

6.7.2

应用程序必须支持以下两种启动行为:

  1. 当从“应用程序”列表(无需输入照片)启动应用程序时,应用程序必须调用 PhotoChooser 方法让用户选择照片或者捕获新的照片。
  2. 当应用程序使用 JPEG 文件格式的输入照片通过照片查看器从共享选择器启动应用程序时,应用程序必须执行让用户无需执行任何照片选择步骤即可加载或共享输入照片的功能。
  1. 在Windows Phone 开始界面启动图片应用程序。
  2. 导航至一张图片。
  3. 点击页面下方应用面板上的三个点。
  4. 点击“分享”按钮,并且点击你的应用程序名称。
  5. 确保该应用允许用户上传或者分享一张照片。
  6. 返回开始界面,从应用程序列表启动应用。
  7. 确保应用程序允许用户选择一张照片,用来上传。

6.8– 照片附加应用程序


下面的要求仅仅适用于Windows Phone OS 7.1上开发的应用。

要求

要求描述

测试步骤

6.8.1 应用程序的基本功能

对于 Windows Phone OS 7.1

应用程序的基本功能必须与照相机或者照片有关。

  1. 在Windows Phone 开始界面,点击图片应用程序。
  2. 导航至“应用”面板。
  3. 从“应用”面板启动应用程序。
  4. 确保应用程序的基本功能与照相机或者照片有关。

6.9– 播放或者流化背景音频的应用程序


下面的要求仅仅适用于Windows Phone OS 7.1上开发的应用程序。

要求

要求描述

测试步骤

6.9.1 用户初始化后台音频

对于 Windows Phone OS 7.1

除非用户激活了一个能看到的UI元素,否则应用程序不能初始化后台音频

  1. 启动你的应用程序。
  2. 确保应用程序有一个能够看到的UI元素,可以用来播放后台音频。
  3. 激活UI元素来播放后台音频。
  4. 确保后台音频开始播放。

6.9.2 停止播放后台音频

对于 Windows Phone OS 7.1

当应用程序在前台运行时,应用程序必须提供一个能看到的UI元素给用户,用来停止播放后台音频。

  1. 启动你的应用程序。
  2. 开始播放应用程序。
  3. 确保应用程序里能够停止播放音频的UI元素是能够被看到的。
  4. 激活UI元素来停止播放应用程序。
  5. 确保音频播放被停止了。

6.9.3 通用的音量控制命令

对于 Windows Phone OS 7.1

当应用程序在后台播放音频,如果用户点击了通用音量控制面板上的暂停键,应用程序必须停止播放音频。

如果应用程序有暂停功能,通过点击通用音量控制面板上的暂停键,应用程序可以暂停或继续播放音频。

  1. 启动你的应用程序。
  2. 开始播放音频。
  3. 关掉应用程序。
  4. 确保应用程序能够在后台继续播放。
  5. 查看通用的音量控制面板。
  6. 如果应用程序有暂停功能,通过点击通用音量控制面板上的暂停键,应用程序可以暂停播放音频。通过点击通用音量控制面板,确保能够重新播放音频。
  7. 通过点击通用音量控制面板,停止播放音频。
  8. 确保音频播放已经停止。

6.9.4 通用音量控制描述

对于 Windows Phone OS 7.1

当应用程序播放一个背景音频时,显示在通用音量控制面板的数据元素必须能够描述该音频,例如音频名称,音轨,艺术家,播放状态或者应用程序名称。

应用程序的错误码不能出现在通用音频控制面板。

广告和其他不相关的内容不能出现在通用引用控制面板。

  1. 启动你的应用程序。
  2. 开始播放音频。
  3. 关掉应用程序。
  4. 确保应用程序能够继续在后台播放音频。
  5. 查看通用音量控制面板。
  6. 确保能看到数据元素,并且该数据元素是与正在播放的音频相关的。

6.9.5 后台音频的流化代理

对于 Windows Phone OS 7.1

应用程序只能使用AudioStreamingAgent API来执行与音频播放和数据元素管理相关的任务。

  1. 启动你的应用程序。
  2. 关掉应用程序。
  3. 确保后台音频的流化代理仅仅用来流化预期的音频内容,并且和数据元素管理相关。

6.10– 使用后台传输数据的应用程序


下面的要求仅仅适用于Windows Phone OS 7.1上开发的应用程序。

要求

要求描述

测试步骤

6.10.1 用户初始化后台数据传输

对于 Windows Phone OS 7.1

除非用户激活了一个能看到的UI元素,否则应用程序不能初始化后台数据传输。

  1. 启动你的应用程序。
  2. 确保应用程序有一个能够看到的UI元素,可以用来在后台进行数据传输。
  3. 激活UI元素来进行数据传输。
  4. 确保后台数据传输已经开始。

6.10.2

对于 Windows Phone OS 7.1

当应用程序在前台运行时,应用程序必须允许用户通过一个可以看到的UI元素,查看所有已经激活的和即将激活的后台数据传输的状态。

  1. 启动你的应用程序。
  2. 初始化一个后台数据传输事件。
  3. 确保有一个能够看到的UI元素可以显示正在进行的后台数据传输。
  4. 确保UI元素正确地显示了后台数据传输事件。
  5. 操作UI元素来停止后台数据传输事件。
  6. 确保用来表示正在进行的后台数据传输的UI元素中,没有显示已经停止的后台数据传输事件。

6.10.3 取消后台数据传输

对于 Windows Phone OS 7.1

应用程序必须给用户提供一个能够看到的UI元素,用来取消已经开始的和即将进行的后台数据传输事件。

  1. 启动你的应用程序。
  2. 初始化一个后台数据传输事件。
  3. 确保有一个能够看到UI元素,可以让用户取消正在进行的后台数据传输事件。
  4. 操作UI元素来停止正在进行的数据传输事件。
  5. 确保后台数据传输事件已经停止,并且与后台数据传输相关的UI元素都不再显示。
作者:Crazy大象 出处:http://www.cnblogs.com/ynbt/  关于作者:专注于.Net、WCF和移动互联网开发。 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过ffy_wang@qq.com联系我,非常感谢。 。

提交应用 Windows Phone的应用程序认证要求的更多相关文章

  1. .net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)

    .net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...

  2. Windows Communication Foundation (WCF)和Windows CardSpace的示例程序

    微软公司昨天发布了一个Windows Communication Foundation (WCF)和Windows CardSpace的示例程序包,内容极为丰富,从最简单的Hello World到复杂 ...

  3. Windows Server 搭建企业无线认证(Radius认证方案)

    认证协议介绍: 扩展认证协议EAP(Extensible Authentication Protocol) 是一个在无线网络或点对点连线中普遍使用的认证框架.它被定义在RFC 3748中,并且使RFC ...

  4. C++ windows客户端支持SSL双向认证

    C++ windows客户端支持SSL双向认证,服务端是JAVA开发的,使用的证书是jks格式的.C++并不支持JKS格式的证书,所以要用openssl进行转换下. 1. 需要先把jks转成.p12文 ...

  5. 使用Code::blocks在windows下写网络程序

    使用Code::blocks在windows下写网络程序 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创 ...

  6. 如何在windows中编写R程序包(转载)

    网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...

  7. 解决由于一个软件限制策略的阻止,windows无法运行此程序cmd.reg

    解决由于一个软件限制策略的阻止,windows无法运行此程序cmd.reg Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFT ...

  8. 如何给Windows添加自动启动的程序

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何给Windows添加自动启动的程序.

  9. Windows下,通过程序设置全屏抗锯齿(多重采样)的方法

    这里说的全屏抗锯齿,不是基于着色器的FXAA之类的方式,而是兼容性更好的,基于固定管线的多重采样方式. 先来说一下开发环境,我用的是VC2013+GLEW1.11. 要通过程序设置多重采样,首先需要进 ...

随机推荐

  1. CSS制作翻牌特效

    应一个朋友要求替他把原本静态页面做成翻牌的特效. 主要应用了CSS3的transform,transiton.首先写好标签,一个ul下两个li元素,通过position的absolue设置两个li元素 ...

  2. UESTC93 King's Sanctuary

    King's Sanctuary Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) ...

  3. 网络驱动移植之简述CS8900A网络芯片的基本原理

    CS8900A数据手册:http://www.cirrus.com/cn/products/cs8900a.html 1.概述 CS8900A是CIRRUS LOGIC公司生产的低功耗.性能优越的16 ...

  4. 嵌入式Linux内核+根文件系统构建工具-Buildroot 快速入手指导【转】

    本文转载自:https://my.oschina.net/freeblues/blog/596448 嵌入式Linux内核+根文件系统构建工具-Buildroot 快速入手指导 buildroot 是 ...

  5. POJ3159 Candies —— 差分约束 spfa

    题目链接:http://poj.org/problem?id=3159 Candies Time Limit: 1500MS   Memory Limit: 131072K Total Submiss ...

  6. POJ2912 Rochambeau —— 种类并查集 + 枚举

    题目链接:http://poj.org/problem?id=2912 Rochambeau Time Limit: 5000MS   Memory Limit: 65536K Total Submi ...

  7. 并不对劲的字符串专题(三):Trie树

    据说这些并不对劲的内容是<信息学奥赛一本通提高篇>的配套练习. 并不会讲Trie树. 1.poj1056-> 模板题. 2.bzoj1212-> 设dp[i]表示T长度为i的前 ...

  8. BZOJ_4566_[Haoi2016]找相同字符_后缀自动机

    BZOJ_4566_[Haoi2016]找相同字符_后缀自动机 Description 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数.两个方案不同当且仅当这两 个子串中有 ...

  9. BZOJ_2099_[Usaco2010 Dec]Letter 恐吓信_后缀自动机+贪心

    BZOJ_2099_[Usaco2010 Dec]Letter 恐吓信_后缀自动机 Description FJ刚刚和邻居发生了一场可怕的争吵,他咽不下这口气,决定佚名发给他的邻居 一封脏话连篇的信. ...

  10. 【Codeforces 915E】 Physical Education Lessons

    [题目链接] 点击打开链接 [算法] 线段树,注意数据量大,要动态开点 [代码] #include<bits/stdc++.h> using namespace std; ; ,root ...