【转】Windows Phone的应用程序认证要求
本文介绍了 Windows Phone 应用程序或游戏要通过认证并在 Windows Phone Marketplace 中发布而必须满足的策略和技术要求。
设计认证过程的一个核心原则是:每个策略或要求都是清晰、客观且可测试的。此透明原则旨在帮助开发人员轻松地设计和测试满足这些要求的应用程序。
下面列出了认证计划的主要内容:
- 应用程序很可靠。
- 应用程序有效地利用了资源。
- 应用程序不妨碍手机的其他功能。
- 应用程序不是恶意软件。
1.1 需要了解的提交和认证过程内容
在准备将应用程序发布到 Windows Phone Marketplace 之前,必须先执行认证过程。在应用程序提交之前不需要签名。
认证过程包括静态验证和自动测试应用程序,以验证其是否满足所有策略和要求。下面列出了 5 种主要的策略和要求类别:
- 应用程序策略
- 内容策略
- 应用程序提交要求
- 技术认证要求
- 对特定应用程序类型的其他要求
下面是一个简单的提交和认证过程图示。
重要提示: |
当提交应用程序更新进行认证时,其认证过程与原始应用程序的认证过程相同。 |
1.1.1 过程概述
下面简单地概述了提交和认证过程:
- 使用您的帐户登录到 App Hub。
- 创建新的应用程序提交。
- 上传应用程序 XAP 文件。
- 输入应用程序的元数据,比如标题、描述、类别和图解。
- 选择发行国家/地区和价格。
- 在输入这些元数据时会验证 XAP 文件。
- 如果 XAP 文件验证成功,提交过程将继续进行步骤 8;否则过程终止并通知您。通过认证过程之后,可以选择立即发布选项,也可以稍后再发布。
- 文件重新打包 XAP,如 4.1.2 节所述。
- 重新打包的 XAP 文件会部署到手机以进行认证测试。认证测试包括自动和手动验证应用程序是否满足 2、3、4、5 和 6 节中所描述的要求。
- 如果应用程序满足所有要求,则重新打包的 XAP 文件和程序集文件将获得签名,并且会根据步骤 7 的选项发布应用程序。
- 如果应用程序不满足其中一个或多个要求,您将得到一个故障报告,并且无法发布应用程序。
1.1.2 代码签名
当应用程序准确无误地成功通过认证测试后,会自动进行代码签名。还会使用 Authenticode® 证书对应用程序和重新打包的 XAP 文件进行签名,这个证书是在注册为 App Hub 成员时分配给您的。证书签发后,不会保留之前签发给应用程序和 XAP 文件的任何签名。
重要提示: |
在将所有应用程序安装到投放市场的 Windows Phone 设备并在其上运行之前,都必须使用 Microsoft 签发的 Authenticode 证书对他们进行签名。 |
为了保护 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.7 特定类型的非法活动
不允许的内容如下:
- 任何促进或宣传非法赌博、非法成人内容和/或色情文学、儿童色情作品、人兽性交、剽窃、网上非法药店、违规药品或犯罪或恐怖活动的内容。
- 任何指导用户如何制作炸弹或武器、毒品,或者招揽用户参与当地适用法律所谓的暴力或非法行为的内容。
- 擅自使用另一个实体的知识产权,包括但不限于:软件、音乐、艺术品以及其他受版权、商标或专利保护的材料或商业机密。
- 任何促进或宣传未成年饮酒、非法使用毒品或者由于酒精或毒品使用导致社会危害行为(比如醉酒驾驶)的内容。
- 根据应用程序供应商认可的其他合同条款,允许支持在合法赌博的管辖区域内进行合法赌博的应用程序。
不允许的内容如下:
- 现实暴力或恣意暴力,包括以下描述:
- 斩首、刺穿、鲜血飞溅/鲜血喷射/血流成河或淤血
- 身体部位爆炸
- 枪支/武器瞄准用户/观众(例如,“俄罗斯轮盘赌”游戏)
- 人或动物起火燃烧
- 虐待动物
- 人或动物痛苦的声音
- 非自愿的或肢体反抗的带有暴力或非法暗示的性暴力
- 强奸以及性侵犯
- 骚扰以及儿童性虐待
- 伤害或以其他方式伤害现实世界中的人或团体的要求或指令
- 歌颂危害人类的罪行,比如集体屠杀和酷刑。
- 勒死/绞死
不允许的内容如下:
- 任何过度使用亵渎性或成人语言的内容。
4 应用程序提交要求
在提交过程中将验证以下要求。这一过程包括检查元数据及验证您上传的 XAP 文件。
程序集和数据文件必须被打包为一个 XAP 文件包。Visual Studio® 2010 Express for Windows Phone 生成必要的 XAP 程序包和清单文件。
要求 |
要求内容 |
4.1.1 – 程序包要求列表 |
XAP 程序包文件最大为 225 MB。 XAP 程序包必须包含以下内容:
有关设置应用程序和平铺标题的更多信息,请参阅 如何为 Windows Phone 的应用程序平铺图标设置初始属性。
|
4.1.2 - XAP 文件重新打包过程 |
当您向 Windows Phone Marketplace 提交 XAP 文件时,该文件将被解压缩、验证并重新打包。 重新打包包含以下步骤:
|
要求 |
要求内容 |
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。 |
当您使用 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 的功能检测工具 主题。
注意: |
在应用程序更新过程中,功能列表可能会改变。当提交一个应用程序更新来进行认证时,其认证过程与原始应用程序的过程是相同的。 |
每个应用程序的发布应针对至少一个特定地域市场及语言。您可以针对多个市场并使用多种语言提交您的应用程序。语言检测过程包括对用于描述该应用程序的元数据,以及在该应用程序中使用的 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 图像文件。
|
|
要求 |
要求内容 |
测试步骤 |
4.6 应用程序屏幕截图 |
对于每个应用程序,您必须提供至少一个或最多八个屏幕截图。用户在进行购买之前,将在目录的详细信息页面看到这些屏幕截图。 屏幕截图必须只包含应用程序图像,并且不得含有任何仿真器镶边。不允许图形增强的屏幕截图。 警告: 不要使用透明的 PNG 图像文件作为应用程序的屏幕截图。 有关更多信息,请参阅 如何为 Windows Phone Marketplace 创建屏幕截图。 详细信息页面的屏幕截图必须是 480 x 800 像素的 PNG 文件。 |
|
要求 |
要求内容 |
测试步骤 |
4.7.1 适用的应用程序平铺图像 |
大的和小的移动应用程序平铺图像都必须代表该应用程序。 |
|
5技术认证要求
以下要求同样适用于执行游戏功能的应用程序(通常称为游戏)。
要求 |
要求描述 |
测试步骤 |
5.1.1多设备支持 |
应用程序必须能够在所有 Windows Phone 设备上运行,而不考虑型号、屏幕大小、键盘硬件和制造商。 |
|
5.1.2 应用程序关闭 |
应用程序必须处理 .NET Framework 引起的异常情况,并且不会意外关闭。认证过程会监控应用程序是否会意外关闭。意外关闭的应用程序不能通过认证。 在处理异常情况时,应用程序必须提供简单易懂的错误信息。您可能会提供有关应用程序上下文的消息。异常情况处理完毕后,应用程序必须继续运行并且仍能对用户输入做出响应。 显示通用或无用错误消息的应用程序不能通过认证。 |
|
5.1.3 应用程序响应 |
如果应用程序执行某项操作(比如通过网络连接下载数据)导致设备超过 3 秒钟无响应,则应用程序必须显示可视进度和忙碌指示器。 |
|
警告:
快速切换是Windows Phone 7.1的一个新特性。为了获取更好的用户体验,微软建议:当设备解锁,用户按了“返回”键或者用户从任务列表恢复应用时,应用应该尽可能在1秒内回复正常。想要获取更多信息,可以参考:“Windows Phone的多任务”和“Windows Phone的执行模式”。
要求 |
要求描述 |
测试步骤 |
5.2.1 启动时间 |
应用程序可能会在 XAP 程序包的根目录中名为 SplashScreenImage.jpg 的文件中显示启动屏幕图像,同时依然继续尝试加载应用程序。
|
|
5.2.2 应用程序关闭后仍保持响应 |
当用户离开 Windows Phone 应用程序后,操作系统会关闭并终止该应用程序。在关闭后重新启动应用程序时,其启动时间必须符合 5.2.1 节(启动时间)的要求。 |
|
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 – “返回”按钮:上一页 |
按“返回”按钮必须使应用程序返回至上一页,或者返回至返回堆栈中保存的上一页。 |
|
5.2.4.2 – “返回”按钮:第一个屏幕 |
当应用程序显示第一屏时按“返回”按钮应用程序必须关闭。 |
|
5.2.4.3 – “返回”按钮:上下文菜单和对话框 |
如果当前页面显示上下文菜单或对话框,按“返回”按钮会关闭菜单或对话框,并使用户返回至打开上下文菜单或对话框的屏幕。 |
|
5.2.4.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.1 |
应用程序不得延误或阻止用户发出呼叫、接听来电或者结束通话。 |
|
5.3.2 |
应用程序不得延误或阻止用户发送或接收短信或彩信。 |
发送短信或彩信
接收短信或彩信
|
5.3.3 |
在接听来电或接收短信和彩信时,应用程序不得停止响应或意外关闭。 |
|
要求 |
要求描述 |
测试步骤 |
5.4.1 恶意软件屏蔽 |
应用程序不得包含病毒、恶意程序以及任何恶意软件。 |
|
5.4.2 MSIL 类型安全验证 |
Windows Phone 可执行多重沙盒机制,以帮助保护设备和设备上运行的应用程序的完整性。Windows Phone 公共语言运行时 (CLR) 依靠应用程序代码的类型安全执行,帮助强制执行安全和隔离机制。 应用程序必须执行 MSIL 类型安全代码以通过认证。有关 C# 不安全代码的更多信息,请参见 不安全代码和指针(C# 编程指南)。 |
|
5.4.3 安全透明性验证 |
Windows Phone 应用程序平台不允许应用程序运行安全性苛求代码。调用安全性苛求代码的应用程序不能通过认证。 有关 .NET 安全模型的更多信息,请参见 .NET Framework 4 中的安全变更。 |
|
要求 |
要求描述 |
测试步骤 |
5.5.1 – 语言验证 |
您的应用程序产品描述和用户界面上使用的文字必须本地化为该应用程序支持的每种语言。 |
|
5.5.2 – 内容和主题 |
应用程序内容(比如文本和可视元素)必须清晰可见,而无论手机主题是什么。例如,如果手机主题从黑色背景更改为白色背景,则应用程序的文本和可视元素必须清晰可见。 |
|
要求 |
要求描述 |
测试步骤 |
技术支持信息 |
应用程序必须包含应用程序名称、版本信息和技术支持联系信息,并且易于查找。 |
|
6特定应用程序类型的其他要求
使用特定手机功能的应用程序必须符合以下其他要求。
位置感知应用程序可使用 System.Devices.Location 命名空间中的类访问手机位置。有关更多信息,请参见 Windows Phone 的位置服务主题。
要求 |
要求描述 |
测试步骤 |
6.1 – 位置感知应用程序 |
用户可以从手机的“系统设置”页面关闭位置服务。当手机上的位置服务关闭后,位置感知应用程序必须仍能做出响应。 建议
|
|
Microsoft 推送通知服务可提供专业灵活、持续稳定的信道,以便将通知从 web 服务推送至手机。有关更多信息,请参见 Windows Phone 的推送通知 主题。
要求 |
要求描述 |
测试步骤 |
6.2.1 – 可配置功能 |
在用户界面或“设置”菜单中,应用程序必须支持用户独立地禁用消息通知。 |
|
6.2.2 – 消息通知选择加入 |
当您的应用程序首次使用 BindToShellToast 方法时,该应用程序必须征求用户的明确许可以便接收消息通知。 重要提示: 您只需要在首次使用 BindToShellToast 方法时征求用户的许可。此后将不必再征求用户的许可。例如,如果您的应用程序每次进行加载时都要调用 BindToShellToast,则仅会在首次启动应用程序时对用户进行提示。 |
|
通过设置 ApplicationIdleDetectionMode 属性,在手机屏幕锁定后前台应用程序仍能继续运行。
当您的应用程序在锁定屏幕下运行时,其耗费的电量可能会超出用户的控制范围,并且在用户不知情的情况下增加数据花费。为此,必须最大限度地减少应用程序在锁定屏幕下运行时的用电量,因此应遵循以下要求:
重点提醒: 为了在Windows Phone OS 7.1上获取最好的用户体验,微软建议当你的应用在锁屏状态下运行时,使用下面的新特性,而不是设置ApplicationIdleDetectionMode属性。
更多信息可以参考“Windows Phone 的执行模式”。 |
要求 |
要求描述 |
测试步骤 |
6.3.1 – 最大限度地减少在锁定屏幕下运行时的用电量 |
当提示屏幕锁定后,在锁定屏幕下运行的所有应用程序必须停止进行任何用户界面更新、活动计时器以及其他非关键操作进程。 |
|
6.3.2 在锁定屏幕下播放音频的应用程序 |
|
|
6.3.2.1 |
应用程序在锁定屏幕下播放音频时,手机电池的最短使用时间必须大于 6 小时。 |
|
6.3.2.2 |
如果应用程序在手机锁定后不播放音频,则在手机屏幕锁定后应用程序必须保持闲置状态。 |
|
6.3.3 – 在锁定屏幕下不播放音频的应用程序 |
|
|
6.3.3.1 |
应用程序在锁定屏幕下运行时,手机电池的最短使用时间必须大于 120 小时。 |
|
音乐 + 视频服务内的应用程序可在手机上提供音乐和视频综合体验作为其主要功能。当某个应用程序调用 MediaHistory 或 MediaHistoryItem 类时,就将其视为音乐 + 视频服务应用程序,并且安装在手机上后显示在“字幕”列表中。提交流程检测到应用程序使用这些类,并在 Windows Phone 应用程序清单中自动将服务类型更新为音乐 + 视频。
以下要求仅适用于音乐 + 视频服务应用程序。
要求 |
要求描述 |
测试步骤 |
6.4.1 |
应用程序功能必须与视频和/或音乐媒体播放相关。 |
|
6.4.2 |
当用户点按与音乐 + 视频服务的“历史记录”或“正在播放”列表有关的平铺图标时,应用程序必须 (a) 启动针对平铺中确定的内容的播放体验,或者 (b) 启动提供之前播放的媒体内容相关信息的视图,并允许用户继续播放。当用户点按音乐 + 视频服务的“历史记录”、“正在播放”或“新建”列表中的内容平铺图标时,应用程序不得启动主登录页面或默认登录页面。 |
|
6.4.3 |
当应用程序播放媒体时,应用程序必须更新音乐 + 视频服务的“历史记录”列表。 |
|
6.4.4 |
在向手机添加媒体或用户在应用程序中创建“对象”(例如,创建无线电台;创建音乐标签)时,应用程序必须更新音乐 + 视频服务的 “新建”列表。 |
|
6.4.5 |
当媒体与容器关联时,音乐 + 视频服务的“新建”和“历史记录”列表中的服务平铺图标必须表示有效容器(比如唱片集、艺术家、播放列表和无线电台),而不是独立的媒体项。 |
|
6.4.6 |
音乐 + 视频服务中的服务平铺图标不得包含广告、媒体报道或其他未经许可的内容。 |
|
6.4.7 |
遵守音乐 + 视频服务中的图解规则,如如何集成 Windows Phone 音乐和视频服务主题所示。 |
|
重要提示: |
6.5 节中的要求并不适用于音乐 + 视频服务应用程序,如 6.4 节所述。 |
即使应用程序的主要功能与音乐或视频无关,应用程序仍能在其运行时于后台播放媒体。播放音乐、音频或音响效果的应用程序必须符合以下要求:
要求 |
要求描述 |
测试步骤 |
6.5.1 – 初始启动功能 |
当用户于应用程序启动后在手机上播放音乐时,应用程序不得通过调用 Microsoft.Xna.Framework.Media.MediaPlayer 类,暂停、恢复或停止手机 MediaQueue 中播放的音乐。 如果应用程序要播放自己的背景音乐或者调整背景音乐音量,则必须获得用户的同意方可停止播放/调整背景音乐(例如“消息”对话框或“设置”菜单)。应用程序每次启动时均必须显示该提示,除非已向用户提供选择加入设置并且用户已经使用此项设置进行选择加入。 |
|
6.5.2 – 可配置功能 |
如果应用程序播放背景音乐,则应用程序必须为用户提供针对背景音乐和背景音乐音量的可配置设置。 |
|
6.5.3 – 播放视频或音频片段的应用程序 |
应用程序可能会在未征求用户同意的情况下,中断手机上当前播放的音乐,以播放非互动式全动视频或者非互动式音频片段(例如影片剪辑或媒体剪辑)。 应用程序必须在其关闭后,恢复之前播放的音乐。 |
|
6.5.4 – 音效与背景音乐 |
不得在应用程序中使用 SoundEffect 类连续播放背景音乐。 |
|
照片附加程序可让您集成照片修改应用程序与 Windows Phone 内置的照片应用程序。有关更多信息,请参见 Windows Phone 照片附加应用程序的扩展性。
照片附加应用程序必须符合以下要求:
要求 |
要求描述 |
测试步骤 |
6.6.1 |
应用程序必须能够执行与照片处理相关的主要功能。 |
|
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 |
应用程序必须支持以下两种启动行为:
|
|
6.6.4 启动应用 |
应用程序必须是明显的,并且应用程序允许照片根据应用程序的启动进行修改。 |
|
照片共享应用程序可以使用 Windows Phone 内置的共享选择器功能。有关更多信息,请参见如何使用 Windows Phone 的共享选择器扩展性。
采用 Windows Phone 内置共享选择器功能的照片共享应用程序必须符合以下要求:
要求 |
要求描述 |
测试步骤 |
6.7.1 |
应用程序必须能够执行与照片处理相关的主要功能。 |
|
6.7.2 |
应用程序必须支持以下两种启动行为:
|
|
6.8– 照片附加应用程序
下面的要求仅仅适用于Windows Phone OS 7.1上开发的应用。
要求 |
要求描述 |
测试步骤 |
6.8.1 应用程序的基本功能 |
对于 Windows Phone OS 7.1 应用程序的基本功能必须与照相机或者照片有关。 |
|
6.9– 播放或者流化背景音频的应用程序
下面的要求仅仅适用于Windows Phone OS 7.1上开发的应用程序。
要求 |
要求描述 |
测试步骤 |
6.9.1 用户初始化后台音频 |
对于 Windows Phone OS 7.1 除非用户激活了一个能看到的UI元素,否则应用程序不能初始化后台音频 |
|
6.9.2 停止播放后台音频 |
对于 Windows Phone OS 7.1 当应用程序在前台运行时,应用程序必须提供一个能看到的UI元素给用户,用来停止播放后台音频。 |
|
6.9.3 通用的音量控制命令 |
对于 Windows Phone OS 7.1 当应用程序在后台播放音频,如果用户点击了通用音量控制面板上的暂停键,应用程序必须停止播放音频。 如果应用程序有暂停功能,通过点击通用音量控制面板上的暂停键,应用程序可以暂停或继续播放音频。 |
|
6.9.4 通用音量控制描述 |
对于 Windows Phone OS 7.1 当应用程序播放一个背景音频时,显示在通用音量控制面板的数据元素必须能够描述该音频,例如音频名称,音轨,艺术家,播放状态或者应用程序名称。 应用程序的错误码不能出现在通用音频控制面板。 广告和其他不相关的内容不能出现在通用引用控制面板。 |
|
6.9.5 后台音频的流化代理 |
对于 Windows Phone OS 7.1 应用程序只能使用AudioStreamingAgent API来执行与音频播放和数据元素管理相关的任务。 |
|
6.10– 使用后台传输数据的应用程序
下面的要求仅仅适用于Windows Phone OS 7.1上开发的应用程序。
要求 |
要求描述 |
测试步骤 |
6.10.1 用户初始化后台数据传输 |
对于 Windows Phone OS 7.1 除非用户激活了一个能看到的UI元素,否则应用程序不能初始化后台数据传输。 |
|
6.10.2 |
对于 Windows Phone OS 7.1 当应用程序在前台运行时,应用程序必须允许用户通过一个可以看到的UI元素,查看所有已经激活的和即将激活的后台数据传输的状态。 |
|
6.10.3 取消后台数据传输 |
对于 Windows Phone OS 7.1 应用程序必须给用户提供一个能够看到的UI元素,用来取消已经开始的和即将进行的后台数据传输事件。 |
|
==============================本文出处=======================================================
出处:http://www.cnblogs.com/ynbt/
关于作者:专注于.Net、WCF和移动互联网开发。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过ynbt_wang@163.com联系我,非常感谢。 。