第23部分: 测试并向应用商店提交

原文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-23-Testing-and-Submitting-to-the-Store

系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners

源代码: http://aka.ms/absbeginnerdevwp8
PDF版本: http://aka.ms/absbeginnerdevwp8pdf

现在我们已经完成了应用程序,接下来需要将它提交到应用程序商店。

在继续之前需要记住用户至少希望您的应用程序是可靠的并具有专业的外观。

对于创建可靠的用户体验,因为“知识的诅咒”(译者注:当一个人有很高深的知识时,他通常失去对没有相同知识的人感同身受的能力。)你自己能做的只有这么多。作为开发者,您对应用程序的操作顺序和“正常操作”的思维定势将会使你很难发现一些问题。您将很快发现您的用户将用新的和创造性的方式使得您的应用程序无法继续运行。所以,我会花时间思考应用程序的状态,特别是接受用户在输入控件或对话框中输入信息的场景。我会花时间思考异常处理和反馈给用户的消息以帮助诊断问题。我会考虑输入和输出以及边界场景。如果他们使用超出ASCII码或扩展ASCII码范围之外的字符怎么办?如果他们添加了两个相同名称的声音怎么办?当用户正在录制声音时程序耗尽电池怎么办?如果在录制或播放声音时用户单击某个硬件按钮会发生什么?如果用户用自定义声音填满独立存储怎么办?就目前情况而言,这将是一个问题,因为我们在应用程序中没有删除声音的功能。

对于专业的外观,您还会遇到“知识的诅咒”问题,并且很可能由于认识上的偏差导致您认为应用程序的流程和外观非常棒,但是您的用户却并不这么想。获取反馈,特别是从学习设计、可用性等方面的人士那里获得反馈被证明是非常宝贵的。我会让他们尽早并全程参与整个开发过程。Windows设计语言(以前称为Metro)的美妙之处在于它可以提升您的审美感觉。您应该学习微软在这方面的建议:

http://developer.windowsphone.com/en-us/design

总之,即使您具备创意并认真思考过应用程序的功能,您还是会忽略一些东西。这就是为什么您需要:

  1. 让别人看到您的作品,尤其是那些并不怎么亲密的人或家庭。您需要真实的反馈。您的家人或朋友如果不喜欢您的作品也不愿意伤害您的感情。
  2. 在您尝试销售应用程序之前使用应用商店的Beta测试功能。这样您的应用程序将接受更多的审查和反馈。然而在Beta阶段获得反馈总比负面评论纷至沓来并断送您应用程序成功机会的反馈形式要好。
  3. 即使在您开始销售应用程序后,也应该迅速回复客户的电子邮件、问题以及反馈。不管你有没有意识到,一旦您发布了应用程序您就在经营一项业务。从现在开始您就是这个星球上最友善的家伙。如果有人请求一项新的功能,请他们提供更多细节并认真思考这是一个可行的需要添加的功能增加还是一个需要修复的错误。如果有人感到沮丧并对您的应用程序使用苛刻的语言或语气,使用同样态度回敬是绝对没有意义的。你需要长厚脸皮,吞下骄傲,变成一个度量大的人。根据我这些年来处理不满意客户的经验,通过仔细选择讲话的口气您可以经常将敌人变成朋友。我想向您推荐一本久负盛名的书,戴尔.卡耐基的《如何赢得朋友和影响他人》。
  4. 在应用程序中设置一些专用的链接和页面。包括常见问题解答,这样用户就可以自助解决常见的问题。
  5. 理解内存降低对应用程序的影响。我相信大部分应用程序的崩溃与内存限制有关,或者处理结束时未能关闭文件这类资源。

本课的计划:

  1. 我们将进行兼容性测试以确保我们的应用程序有机会出现在应用商店中。
  2. 我们将向应用商店提交我们的应用程序

1. 运行应用商店测试套件

为评估应用程序是否为发布到应用商店做好准备,我们将使用应用商店测试套件。它将自动测试一些场景并向您建议其他需要进行的手动测试。此外,它可以作为您需要提交到应用商店的项目的一个检查表,如促销图像以及其它类似内容。

转到项目菜单选择开放应用商店测试套件以打开应用商店测试套件:

这将在主区域打开一个新的页面。注意左侧有三个选项卡:

应用程序详细信息收集有关应用程序的基本数据,包括针对应用商店的一个更大的主磁贴的版本(300×300像素)和应用程序屏幕截图。如果您使用手机应用商店,您会看到每个应用程序有一个含有描述性文本和发行商详细信息的页面,一个含有应用程序评价和评论的页面以及一个含有屏幕截图的页面。

自动测试选项卡将执行一些测试以确保XAP部署包的有效性,并确保应用程序详细信息选项卡中的图像也已经就位。

手动测试选项卡有一些供您在提交前测试应用程序的一些建议。

在测试状态(将它想象成一个可以手工取消选中的复选框)和测试名称右侧是测试的描述和如何执行测试,什么算作失败等内容。

如果您在Visual Studio中尝试在没有任何更改的情况下单击自动测试选项卡上的"运行测试"按钮:

您可能会收到以下警告/错误:

我们需要更正几个问题,但是第一个需要解决的问题就是我们需要创建部署包的发布版本。我们一直在使用调试版本,它包含用于在模拟器或设备与Visual Studio间同步代码执行的其他文件,利用这些文件我们可以进行断点设置,单步调试等工作。

现在我们需要创建发布版本。在我们这样做之前,让我们确认Visual Studio将创建一个配置为发布到"任何CPU(AnyCPU)"的发布版本。在工具栏中我选择运行按钮旁的下拉列表框并选择配置管理器:

配置管理器对话框将出现:

在活动解决方案配置下拉列表框中,我选择发布(Release):

我将在主区域检查项目上下文,确保配置被设置为发布,平台被设置为"Any CPU"。

如果设置正确(这些设置应该是缺省值),然后我们将生成解决方案(生成菜单中选择生成解决方案)。

如果一切顺利,输出窗口应该指示成功。如果没有成功,你在继续前需要修复它。

现在我们有了一个XAP部署包的有效发布版本,我们将再次"运行测试"。

这次我们没有通过图标和屏幕截图方面的测试。

在我处理这些问题前让我们看一下页面下方的按钮,即“开始Windows Phone应用程序分析”。

单击此按钮将添加一个新的.sap文件,它是一个空的性能日志文件,用于在应用程序运行时捕获它的性能数据。该日志文件中的内容将使您可以了解应用程序运行的状况:

该.sap文件被加载到Visual Studio的主区域中:

我不准备花时间讨论您可以从监视和分析选项生成的不同类型的数据和报告,我建议您阅读以下帮助:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj215908(v=vs.105).aspx

现在,我将仅:

  1. 选择应用程序分析监视选项,然后
  2. 单击底部的开始会话链接。

应用程序将在模拟器中加载,并且您将看到Visual Studio显示的监视消息:

现在您应该运行应用程序并执行典型的用例,甚至是一些边界情况。当您结束测试应用程序时

  1. 单击“结束会话”链接

收集的数据将被分析:

并将生成一份报告

该报告包括一些非常有趣的详细信息,这些信息可以帮助您判断应用程序是否已经准备好发布至应用程序商店。我认为最重要的是看电池消耗和使用的最大内存。

现在我们已经完成了这个测试,我将确保为应用商店准备好图像,例如应用商店磁贴(300x300)和屏幕截图。我使用模拟器的附加工具捕获SoundBoard应用程序的两个主视图:

并且我选择将它们保存至项目的Assets文件夹。然而回想起来,我其实应该将它们放到其他位置,或许是项目的另一个子文件夹,这样就可以更容易找到它们并在名称上减少混淆。

我将这两个屏幕截图添加到应用商店测试套件的应用程序屏幕截图部分:

然而,如果您再次运行测试它仍然会失败,因为您需要为所有三种分辨率提供相应的图像版本。

在应用程序详细页面的应用程序屏幕截图部分,使用下拉列表以显示其它屏幕分辨率并用模拟器的不同版本捕获该分辨率的屏幕截图。

提示:当我向应用商店上载图像时,应用商店提供根据WXGA版本创建/缩放这些文件的不同版本的选项。然而如果成功通过应用商店测试套件对你来说很重要,那么您需要为三种分辨率提供相应的图像。

在提供了所有需要的文件后,我可以通过自动化测试了。

我仍然需要考虑手动测试以及我希望的内部测试,但是它至少帮助我准备好提交素材文件和应用程序的发布版本。

2. 向应用商店提交应用程序

现在我将尝试发布应用程序。这是一个需要多天才能完成的过程。对于该应用程序第一次就能通过我没有100%的信心。但是通过本例,我想让你知道整个提交过程。它一点都不可怕。

同样重要的是要记住这个网站经常变化,并且很难跟上这个变化。所以当您尝试提交时看到的界面可能截然不同。您应该认真阅读页面上的说明。本课的目的仅仅是在您真正构建应用程序前向您展示提交应用程序的一般过程。

转到: https://dev.windowsphone.com

  1. 单击页面顶部的发布菜单选项,
  2. 单击页面上的提交应用程序链接

它会将您带至提交应用程序页面:

该页面包含一系列任务,根据应用程序的功能和您希望如何盈利,其中许多任务是可选的。

  1. 单击应用程序信息任务

它会将您带至应用程序信息页面:

在这里您将对应用程序进行命名、分类、制定价格并选择应用程序的分发对象。大部分内容均不言自明。这里有很多内容需要考虑,老实说这里的选择将反映您的策略:应用程序的目标受众是谁?您的定价策略是什么?如果您准备对应用程序收费(相对于免费增值模式或广告模式),您会允许免费试用吗?在一些情况下它是有有效的,在其他情况下它可能就不是那么有有效。我听说免费试用对销售确实有帮助,但是我敢肯定它取决于应用程序的类型和您的目标受众。

在该页面往下:

您可以选择发布的市场,是否希望在应用商店公开发布还是我们前面说的仅发布测试版本。

在本页面继续往下

您可以选择在应用程序通过认证后自动在应用商店发布还是手工进行发布。

最后的选项是针对Window Phone的微软推送通知服务(the Microsoft Push Notification Service, MPNS)。它允许您安全地从服务器向用户手机发送消息。想象一个长期运行的大型多人在线休闲游戏,当玩家的星球即将被其他玩家攻击时游戏如果能通知该攻击将是非常重要的。这可能是游戏中的高端升级功能。这会给玩家一个移动部队到位的机会。这项服务需要付费,所以您需要谨慎使用。

Windows Phone推送通知:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402558(v=vs.105).aspx

在单击以上保存按钮后您将返回提交应用程序页面,其中第一项任务已经被标记为完成:

  1. 单击任务2上载并描述XAP文件

它会将您带至上载和描述XAP页面:

  1. 单击添加新文件链接

这将显示打开对话框:

  1. 导航至XAP文件的发布版本,它位于项目的Bin\Release文件夹中
  2. 选择后缀为_Release_AnyCPU.xap的版本
  3. 单击打开

特别是如果您有很多图像或声音资源嵌入在XAP文件时,可能需要一些时间上载您的XAP文件。

一旦XAP文件被上载,您会发现它已经被分析并且详细信息已经被显示:

在本页继续往下,您可以修改XAP文件在应用商店的信息

  1. 对于您所支持的每种语言,您将添加
  2. 应用程序的描述,以及
  3. 潜在客户为找到您的应用程序可能使用的关键字

我建议您仔细考虑您的描述文本以及屏幕截图。这些文字的效果可以说服某人尝试您的应用程序也可能让潜在的用户转向其他应用程序。

在本页继续往下,您可以为应用商店上载图像

您可以单击给定灰色方块中间的加号以添加图像。这将显示打开对话框,在对话框中您可以选择需要的文件。

  1. 如您所见,我已经选择了300 x 300像素的应用商店磁贴。
  2. 您可以为应用程序添加一个1000 x 800的背景。这有助于应用程序的品牌推广并创造轰动效应。
  3. 我在前面提到过,您可以为每一种支持的屏幕分辨率提供屏幕截图,或者您可以选择允许应用商店从WXGA版本自动生成/缩放图像的版本。我在本例中选择后者。
  4. 这里我上传了WXGA版本的屏幕截图。

在本页继续往下

我单击保存按钮。这将使我返回提交页面,其中第二项任务已经被标记为完成。

本页继续往下,您会看到一些可选的任务。在本例中,我们没有使用微软应用内广告平台,没有根据不同市场制定价格,也没有启用地图服务(它可以提供一些在应用程序中使用的凭据)。但是地图服务选项对于我们将要创建的下一个应用程序很重要。您现在只需对它有个印象,我们将在本系列的后续部分对其再次讨论。

在完成必备的两项任务后,我单击“检查并提交”按钮。

这将显示检查提交页面:

检查和提交页面是在您向应用商店提交应用程序前发现错误的最后机会。

在页面底部您可以看到提交或“返回并编辑”选项。我单击提交按钮。

它将向我显示应用程序提交成功的消息。

如文中所述,认证需要5个工作日,您将通过电子邮件收到应用程序是否被允许在应用商店发布的通知。

现在我们需要的是耐心等待。

回顾

综上所述,本课的重点是对应用程序的测试、提交、推广过程的思考。有一些如应用商店测试套件的工具可以帮助您收集素材文件并为提交应用程序做好准备,但是除此之外您还会希望将应用程序送给其他人进行测试以及创建一个beta版的程序。这些步骤以及良好的作品、截图、描述以及售后对用户的响应一起将有助于您的应用程序在应用商店获得成功。

Windows Phone 8初学者开发—第23部分:测试并向应用商店提交的更多相关文章

  1. Windows Phone 8初学者开发—第14部分:在运行时绑定到真实的数据

    原文 Windows Phone 8初学者开发—第14部分:在运行时绑定到真实的数据 第14部分:在运行时绑定到真实的数据 原文地址: http://channel9.msdn.com/Series/ ...

  2. Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式

    原文 Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式 第13部分:设置LongListSelector中磁贴的样式 原文地址: http://c ...

  3. Windows Phone 8初学者开发—第12部分:改进视图模型和示例数据

    原文 Windows Phone 8初学者开发—第12部分:改进视图模型和示例数据 第12部分:改进视图模型和示例数据 原文地址:http://channel9.msdn.com/Series/Win ...

  4. Windows Phone 8初学者开发—第11部分:设置SounBoard应用程序

    原文 Windows Phone 8初学者开发—第11部分:设置SounBoard应用程序 原文地址: http://channel9.msdn.com/Series/Windows-Phone-8- ...

  5. Windows Phone 8初学者开发—第10部分:数据绑定应用程序和透视应用程序项目模板简介

    原文 Windows Phone 8初学者开发—第10部分:数据绑定应用程序和透视应用程序项目模板简介 原文地址: http://channel9.msdn.com/Series/Windows-Ph ...

  6. Windows Phone 8初学者开发—第9部分:Windows Phone 8模拟器概述

    原文 Windows Phone 8初学者开发—第9部分:Windows Phone 8模拟器概述 第9部分:Windows Phone 8模拟器概述 原文地址: http://channel9.ms ...

  7. Windows Phone 8初学者开发—第8部分:理解编译和部署

    原文 Windows Phone 8初学者开发—第8部分:理解编译和部署 第8部分:理解编译和部署 原文地址: http://channel9.msdn.com/Series/Windows-Phon ...

  8. Windows Phone 8初学者开发—第7部分:本地化应用程序

    原文 Windows Phone 8初学者开发—第7部分:本地化应用程序 第7部分:本地化应用程序 原文地址: http://channel9.msdn.com/Series/Windows-Phon ...

  9. Windows Phone 8初学者开发—第6部分:设置应用程序的样式

    原文 Windows Phone 8初学者开发—第6部分:设置应用程序的样式 Source Code: http://aka.ms/absbeginnerdevwp8  PDF Version: ht ...

随机推荐

  1. django 基础入门(二)

    一.关于数据库 1.首先django 1.9以上等版本不支持pymysql,因此需要做一些调整. 比如在settings.py 加入一段代码: import pymysql pymysql.insta ...

  2. poj 1850/poj 1496

    http://poj.org/problem?id=1850 -----------------http://poj.org/problem?id=1496 两题解法类似..本题为组合数学的题,要求所 ...

  3. 高级UNIX环境编程

    常规文件 只有索引节号(i-number,是一批i-node的索引),i-node不含文件名及数据字节,包括文件类型,链接数量,uid,gid,访问权限,字节数,最后访问时间,最后修改时间,信息节点最 ...

  4. linux下检测端口是否连通

    检测tcp端口使用telnet命令 telnet 例:telnet 192.168.0.1 80 检测udp端口使用uc命令 uc -zu 例:uc -zu 192.169.0.1 80   以上命令 ...

  5. Android经常使用UI组件 - TextView

    TextView是Android里面用的最多的UI组件,一般使用在须要显示一些信息的时候,其不能输入,仅仅能初始设定或者在程序中改动. 实例:TextViewDemo 执行效果: 代码清单: 布局文件 ...

  6. 程序中使用事务来管理sql语句的执行,执行失败时,可以达到回滚的要求。

    1.设置使用事务的SQL执行语句 /// <summary> /// 使用有事务的SQL语句 /// </summary> /// <param name="s ...

  7. AFNetworking3.0的基本使用方法

    前一段时间在做项目的时候发现AFNetworking3.0已经被大众所接受,所以以后肯定会有很多程序猿朋友必须了解和转移至3.0了,这是我这段时间使用和学习总结出来的一些常用的知识点,希望对大家有用. ...

  8. gmake使用注意

    今天使用gmake把sgml变成html的时候出现了无法找到gmake的困惑(本人linux为ubuntu15.04),上网搜索发现: gmake是GNU Make的缩写.Linux系统环境下的mak ...

  9. centos下yum安装crontab+mysql自动备份

    参考博文: centos下yum安装crontab yum install vixie-cron crontabs      //安装 chkconfig crond on               ...

  10. USACO Ski Course Design 暴力

    从Min到Max范围内暴力一下即可. /* ID: wushuai2 PROG: skidesign LANG: C++ */ //#pragma comment(linker, "/STA ...