在Windows phone SDK 还是7.0版本是就一直想写一篇关于Windows Phone 应用发布注意事项.当开发应用完成后.通过注册Windows phone APPHub Account 发布应用时.可能要面对各种各种失败原因.自从TechED 2011 后MS官方的AppHub对中国地区正式开放.针对开发者支持也发布SDK7.1正式版. 新版本相对老版本7.0在提交应用方面在Project中增加了一个MarketPlace Test Kit选项.
该选项让开发者在开发测试阶段就能对应用程序进行自动化测试.监控测试.手动测试.以减少提交MarketPlace出错几率. 缩短提交应用时间.
在APPHub提交应用时具体的流程如下:
而从Certification Testing 步骤后均为微软官方验证审核人员进行的操作.打开AppHub下My dashboard 找到Windows phone. Submit a new App提交应用:
在第一步需要对应App进行命名.这个命名会在提交时检查应用名是否被占用.再设置该APP是否发布到MarketPlace 还是先进行Private Beta Test. 一般情况下如果测试通过.直接打算上线则选择Public Marketplace . 而针对Private Beta TEst 最多可以提供100个人邀请进行私人版本测试.当应用经过官方审核后,指定的私人测试参与者将会受到Email.Email中将包含测试版本APP下载安装链接.这样能够保证不需要暴露XAP安装包的方式指定发给小团体进行私人版本测试.并获取最终版本上线前用户反馈.
上传XAP文件.大小限制最大为225M. 指定版本号.最后Requires Technical Exception可选项.如果前面已经选中Private Beta Test则此选项不可用.
Technical Exception 是一份让APP 验证审核人员参考文件.这份文件的目的协助验证审核人员审核提交的APP. 如果需要进行Technical Exception 则必须要向官方提供一份Technical Exception Form PDF格式的文档. 这回延长官方审核应用的时间周期.个人来看 其实这个选项很少用到.
关于Technical Exception 需要提交PDF文档格式 :
Technical Exception PDF Document 下载地址:
完成应用上传Next:
在上传应用文件时.会验证XAP包中资源已经设置是否可用.如果不可用会提示出错.类似上面提到缺少[NeutralResourceLanguage]属性设置.
AppHub在新版本更新后 能够自动检测XAP安装包里的默认语言设置和资源文件里的本地语言设置.[NeutralResourcesLanguage]属性位于应用程序的Properties\AssemblyInfo.cs文件中.一般情况默认值是EN.如果没有设置则为Null.开发者需要在Project->Properties-Assembly Information设置:
设置完成后能在Properties\AssemblyInfo.cs文件中看到设置的信息:
1: // You can specify all the values or you can default the Revision and Build Numbers
2: // by using the '*' as shown below:
3: [assembly: AssemblyVersion("1.0.2.0")]
4: [assembly: AssemblyFileVersion("1.0.2.0")]
5: [assembly: NeutralResourcesLanguageAttribute("zh")]
如果考虑添加多语言的支持可以参考MSDN中How to Build a Localized Application for Windows Phone
Well,上传完安装文件.需要对应用加以必要的描述信息.应用的分类:
应用的分类则直接影响用户查找APP. 其实原来官方MarketPlace应用分类比较粗线条.后来随着Windows phone Mango 7720版本推出后.随着应用数量渐渐上升.官方也增加并细化应用的分类.在大分类下添加一些子分类.但并不是每种分类都有子分类.另如果APPHub不推荐采用中文方式选取分类 如果切换成中文:
不推荐切换成中文的方式,这样不容易区分与Marketplace英文对应.详情描述:
Simplified Chinese 则是根据XAP文件本地化语言设置而对应的NautralResourcesLanguage(“zh”). Detailed Description 则是对应用具体描述.建议对Version Description描述 中英文参照.
Keyword决定普通使用marketplace 用户通过这些关键字能够找到发布的应用.尽量对于关键字有实体意义进行拆分,同时如果是中文应用不要忽略英文对应的翻译.这样决定发布的应用能否被消费者看到具有关键意义.
Art Work:
在Windows phone应用中针对应用程序的Logo. Title Logo和BackGround Image都有明确文件格式,规格大小的要求.:
其中前三项都是必须的.第四项线框图也就是应用截图至少需要一张应用的展示截图.而BackGround 主题背景图片则是可选的.原来在7.0SDK时.必须采用工具截取应用的线框图.而且必须精确480*800.规格.操作难度极大. 在7.1SDK模拟器中则内置应用截图功能. 规格统一均为480*800:
针对Title Logo相同图片多种不同规格.则可以直接借助生成工具Windows phone Icon Maker批量生成提交应用时需要4种不同规格图片Logo.:
分别生成62*62/99*99/173*173/200*200四种规格.当保存是会在桌面创建一个文件夹并生成对应ApplicationIcon应用程序图标和提交背景主题图片.共6张必备图:
提交后设置应用的价格和发布区域:
目前Windows phone MarketPlace应用的价格可设置的区域为:0.99-499.99 USD[美元]. 根据应用需要设置发布区域.一般如果没有特定需求都设置为WorldWide.全球范围使用.至于应用付款也是根据不同地区国家固定汇率结算的.
决定是否提供应用试用版[Trails Version],提供试用版可以有效降低应用购买后要求退款的情况.
Next设置TEst选项页:
在Test选项页包含测试的注意事项和发布方式选项. 这里特别说明四种发布方式选项不同之处:
None:这是默认发布选项.当前应用将不会被提交.但可以通过Save and Quit操作保存本次提交记录.可以在其他任意时间打开这条记录继续提交.
As soon as it’s certified:当前应用如果通过官方认证流程会尽快发布到Marketplace对应的分类中.一般来说这种方式普通应用的常选项.发布审核时间最短,应用权限公开最大.
As soon as it’s certified,but it hidden: 这个选项会在官方认证流程后提交到marketplace市场.但特殊之处在于只有对应有应用链接的人才能在市场目录中找到你的应用.这个选项的目的是有针对性的分发应用.而对于普通用户在marketplace无法检索到该应用程序.该选项可以用作应用程序小范围邀请体验.
I will publish it manually after it has been certified:这个选项在官方认证完应用程序后.该应用将不会出现在官方Marketplace 对应分类中.只有用户手动提交后才能正式上线.你可以在Windows phone 操作面板dashboard中应用链接手动发布已经通过官方认证但尚未发布上线的应用程序. 说白这个选项目的适用于用户手工控制的需求.
对于一般应用如果没有特殊需求则最常见选项为As son as it’s certified 提交:
提示已经提交成功.
应用提交成功后可以在操作面板dashboard上看到对应应用的审核进度:
点击看到审核详细流程进度:
审核通过后进度:
中间审核可能需要多次打回.并反复修改官方审核团队验证通过后.几个小时内会在Marketplace对应的应用分类中上线.
如果把应用在开始发布第一步设置成Private Bate Test:
当设置完Upload 和Describe两步后会跳过设置Price价格这一步直接挑战到Test设置选项页:
如果设置Private Beta Test则需要在Test选项页中输入要邀请人的Email. 参与测试者数量最多为100个. 注意每个Email之间必须采用“;”分隔.否则最后测试安装时会提示用户没有安装权限的错误信息.注意这里没有Publish Operation这个选项.直接提交.提醒应用提交成功和上面一样.
当应用审核通过后.设置成Private Bate Test应用可以随时更新添加接受测试用Email,删除和增加测试者资格:
修改接受测试者Email格式必须也是”;”分隔开.如果应用发布成功会受到官方审核团队邮件通知如下:
Email中包含一个发布成功应用Zune链接地址. 直接打开链接会自动打开Zune软件定位该APP页面.注意如果Private Bate TEst设置.那么所有测试参与者必须绑定邮件中提供Liveid 才能具有该APP的安装权限.
针对官方在Email提供URL链接.如果想在手机上至二级点击URL进行安装.需要修改URL另外一种格式. 类似:
官方提供URL,只能在PC上通过浏览器打开ZUne软件进行安装:
zune://navigate/?appid=14836042-208f-4464-80a9-02faf57057f
把URL修改成如下格式在手机上直接进行安装:
http://www.microsoft.com/windows phone//s?appid=14836042-208f-4464-80a9-02faf57057f
在实际操作可能会到这种情况.官方邮件Email已经提供了安装url.但无法找到该应用.实际在得到URL在实际安装上存在一定时间差.如果点击提示没有APP 则需要等待一会.
而在7.1SDK为了避免在提交应用多次因低级错误被打回次数.在VS2010 也继承marketplace TEst Kit.工具.帮助开发者在提交应用之前测试APP中存在的问题。在提交应用之前即可修改.
打开MarketPlace Test Kit:
打开后能看MarketPlace Kit存在四个选项.第一个选项的目的只要是提交当前应用在提交时需要验证的资源 因上传市场的XAP必须是Realse版本的.所以测试必须是Realse:
Application packAge则是指定当前测试需要验证XAP安装包的地址. 如下则需要指定当前应用使用TitleLogo 线框图等资源以便自动化测试.
在选项Automated Test自动化测试中.则是测试XAP安装包资源文件 图片的格式和规格是否正确.一般来说Automated TEst是提交应用必须测试通过.因为这个列表中在提交应用是都是硬性的要求.
Monitored TEst监控测试选项主要针对应用在真机运行体现的性能指标: 加载时间 内存使用量 Back up Button硬件支持处理等. 这个需要连接真机上加载测试.如果出错或是提示也可以不修改.,这项测试并不是必须的.
针对 在测试时总是提示最后一项出错.问题主要原因在于在真机操作应用必须最少使用一次Back up Button硬件按钮执行Back Up操作.这样监控测试才能验证.
最后一项Manual TEst人工检测手动测试项目. 总共有50项目. 没想中提供测试的步骤说明.用来手工测试.在moreInfor可以看到更多完整说明.因开发人员手工测试.Vs2010无法通过程序的方式判断应用程序测试项是否通过.完全又开发人员来决定测试是否通过.
另注意当完成最后一项手工测试后.找到项目解决现实全部文件能看到SubmissionInfo文件夹.该文件夹是将来要在提交应用存在一些资源.其中最后一项手工测试的结果会保存在ManualTEstResult.xml文件中提交:
如上提到整个应用再叫中各个方面. 其实当初在提交应用过程并没有仔细官方关于Application Certification Requirements for Windows Phone,在7.0版本层被打回过多次.有些官方在Email只是给出一些比较错误提示.导致有时打回后根本不知道错误原因在那.如果保证应用完成提交.请仔细阅读该文档.从个人经验来看是磨刀不误砍柴工.
Windows phone 应用开发: