本文来源及参考: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. wpf 自定义Button按钮

    创建ButtonEx类 public class ButtonEx : Button { static ButtonEx() { DefaultStyleKeyProperty.OverrideMet ...

  2. 在做导入一个excel文件的时候,数据有空值的时候

    StringUtil.isNotEmpty(i.getFname()),用这个方法可以解决 java string 去除前后两端的空格和空字符使用.trim()

  3. Java基础——二分法

    BinarySearch 二分法查找,顾名思义就是要将数据每次都分成两份然后再去找到你想要的数据,我们可以这样去想,二分法查找很类似与我们平时玩的猜价格游戏,当你报出一个价格时裁判会告诉你价格相对于真 ...

  4. replace、replaceAll、replaceFirst

    replace.replaceAll.replaceFirst这三个函数会java的同学估计都用过,笔者已经用了2年多,可是,我们真的懂他们吗? 概述一下他们三个的用法: · replace(Char ...

  5. Vue.js 计算属性(computed)

    Vue.js 计算属性(computed) 如果在模板中使用一些复杂的表达式,会让模板显得过于繁重,且后期难以维护.对此,vue.js 提供了计算属性(computed),你可以把这些复杂的表达式写到 ...

  6. 迷宫自动生成以及基于DFS的自动寻路算法

    直接贴代码 #include<ctime> #include<conio.h> #include<iostream> #include<windows.h&g ...

  7. Number Theory Problem(The 2016 ACM-ICPC Asia China-Final Contest 找规律)

    题目: Mr. Panda is one of the top specialists on number theory all over the world. Now Mr. Panda is in ...

  8. DAS、NAS、SAN、iSCSI 存储方案概述

    (转自https://blog.csdn.net/tianlesoftware/article/details/6201346) 目前服务器所使用的专业存储方案有DAS.NAS.SAN.iSCSI几种 ...

  9. Arduino 测试空气质量等级模块 ZP07-MP503 测试

    最近入手空气质量模块 ZP07-MP503,用Arduino采样数据进行测试 先上图看看 ZP07-MP503 产品 ZP07-MP503 一共4个管脚,功能如下 5V 电源输入5V GND  电源输 ...

  10. 设置NODE_ENV=test环境变量

    之前开发时因为有内网测试环境和外网测试环境,再部署打包时总是切换两个域名,比较麻烦,所以最好能设置一个环境变量,来控制两个域名,于是做了如下配置: "scripts": { &qu ...