本文来源及参考:Create a check for updates page for your app

这篇文章解释了如何创建一个简单的检查更新页,检查该用户已安装的应用程序的最新版本。

简介

这篇文章显示了如何创建用于您的应用程序的"检查更新"页。这会比较市场上当前可用的版本和应用程序的已安装的版本。如果有可用的更新版本,将会提示您,并跳转到应用市场上的应用程序。

安装系统必备组件

此示例的唯一前提是你需要先安装了优秀"Cimbalino Windows Phone 工具包"。这可以通过使用 nuget 或可以从这里下载.

设置的清单文件

有几件事情,你就需要在您的应用程序清单文件中设置。首先,您需要确保在清单中的产品 Id 相匹配的 (这可以在您的应用程序在Windows Phone Developer Dashboard portal上的详细信息选项卡找到) 发布的应用程序的应用程序 ID。你还需要确保您在每次更新应用程序更新中你清单的版本号。

检查有更新

检查您的应用程序的代码是相当直截了当。首先我们从使用 'ApplicationManifestService' 的清单文件获取当前已安装的应用程序的版本号。然后,我们使用 'MarketplaceInformationService' 在获取可用的版本市场上 (请注意,此项检查需要 internet 连接)。比较两个版本,然后提示用户是否是他们想要从市场上安装较新的版本。最后一步是使用"MarketplaceDetailTask"以向用户显示信息。

   1: private async void CheckForUpdates()

   2:       {

   3:           var _informationService = new MarketplaceInformationService();

   4:           var _applicationManifestService = new ApplicationManifestService();

   5:  

   6:           var result = await _informationService.GetAppInformationAsync();

   7:           var appInfo = _applicationManifestService.GetApplicationManifest();

   8:           var currentVersion = new Version(appInfo.App.Version);

   9:           var updatedVersion = new Version(result.Entry.Version);

  10:  

  11:           if (updatedVersion > currentVersion && MessageBox.Show("Do you want to install the new version now?", "Update Available", MessageBoxButton.OKCancel) == MessageBoxResult.OK)

  12:           {

  13:               new MarketplaceDetailTask().Show();

  14:           }

  15:           else

  16:           {

  17:               MessageBox.Show("Currently no updates available");

  18:           }

  19:       }

摘要

这简单的方法,以确保所有用户都运行您的App的最新版本,可以有助于改善当用户正在都运行您的应用程序的旧版本时的例如"应用崩溃了"这些评价。最后需要指出的一点是此示例中的代码使用单击按钮来运行,这段代码无法在应用程序启动时运行。您还可以下载本示例File:CheckForUpdatesSource.zip的源代码。

注:基本借助Bing翻译

创建APP检查更新页的更多相关文章

  1. 每日一博 | 用 Ionic2 创建 App 启动页滑动欢迎界面

    原文  https://my.oschina.net/qinphil/blog/777787 效果如下,图片来自网络 本文例子和上图稍有不同,主要功能如下: 每滑动一下展示一张全屏图片: 滑动到最后一 ...

  2. Ionic2:创建App启动页滑动欢迎界面

    来自:https://my.oschina.net/qinphil/blog/777787 著作权归原创作者所有,如有再转,请自觉标明原创出处,以示尊重! 摘要: 每个有逼格的App在第一次启动时都有 ...

  3. Cordova app 检查更新 ----创建项目、添加插件、修改插件(一)

    原文:Cordova app 检查更新 ----创建项目.添加插件.修改插件(一) 使用Cordova 进行跨平台应用程序的开发 1.创建Cordova项目 $ cordova create hell ...

  4. iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ②)

    距上一篇博客"APP引导页的高度集成 - DHGuidePageHUD - ①"的发布有一段时间了, 后来又在SDK中补充了一些新的内容进去但是一直没来得及跟大家分享, 今天来跟大 ...

  5. iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ①)

    好长时间没更新博客, 是时候来一波干货分享了;APP引导页话不多说每一个APP都会用到,分量不重但是不可缺少,不论是APP的首次安装还是版本的更新,首先展现给用户眼前的也就只有它了吧,当然这里讲的不是 ...

  6. [BS-10] 统一设置app所有页面的“返回”按钮样式

    统一设置app所有页面的“返回”按钮样式 如果想统一设置app所有页面的“返回”按钮样式,首先自定义WZNavigationController类继承UINavigationController类,然 ...

  7. GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD)

    每一个APP都会用到APP引导页,分量不重但是不可缺少,不论是APP的首次安装还是版本的更新,首先展现给用户眼前的也就只有它了,当然这里讲的不是APP引导页的美化而是APP引导页的高度集成,一行代码搞 ...

  8. iOS Storyboard创建APP 的国际化操作

    Storyboard创建APP 的国际化操作 最近在看<X-code江湖录>这本书,看到了APP 国际化这点,刚刚也简单的实践了一下.现在和大家分享分享! 写的这个简单的Demo全都是用 ...

  9. App启动页倒计时功能

    转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6753418.html 示例代码采用 RxJava + RxLifecycle + Data-Binding ...

随机推荐

  1. 出现For input string: "" 错误

    然后是因为后台生成的是一个数组,前台取的是一个对象,所以会产生这个错误 前后台交互时 mv.addObject("vo1",fhList.get(0));}将数组改成fhList. ...

  2. 模板—splay

    #include<iostream> #include<cstdio> #define cin(x) scanf("%d",&x) using na ...

  3. MySQL数据库开启、关闭、查看函数功能的方法

    应用 MySQL 时,会遇到不能创建函数的情况.出现如下错误信息: ERROR 1418 : This function has none of DETERMINISTIC, NO SQL, or R ...

  4. 转载:tomcat实现热部署的配置

    tomcat实现热部署的配置   我们实现热部署后,自然就可以通过maven操作tomcat了,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限. 进入tom ...

  5. React组件设计技巧

    React组件设计 组件分类 展示组件和容器组件 展示组件 容器组件 关注事物的展示 关注事物如何工作 可能包含展示和容器组件,并且一般会有DOM标签和css样式 可能包含展示和容器组件,并且不会有D ...

  6. Jenkins 的插件AnsiColor 多颜色

  7. 【Python实践-9】将字符串转化为浮点型

    利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456. 思路:计算小数位数--->将字符串中的小数点去掉--->字符串转换为整数-- ...

  8. vue中axios设置

    //设置默认全局baseURL axios.defaults.baseURL=process.env.BASE_API; //设置默认全局携带浏览器cookie axios.defaults.with ...

  9. session 与 cookie 区别-----https://segmentfault.com/a/1190000013447750?utm_source=tag-newest

    cookie数据存放在客户的浏览器上,session数据放在服务器上. cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session. sessi ...

  10. zabbix全方位监控MySQL +cacti监控mysql

    http://www.linuxidc.com/Linux/2015-02/112690.htm http://john88wang.blog.51cto.com/2165294/1596272?ut ...