900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 【Win10 UWP】URI Scheme(一):Windows Store协议的解析和使用

【Win10 UWP】URI Scheme(一):Windows Store协议的解析和使用

时间:2024-06-22 13:35:40

相关推荐

【Win10 UWP】URI Scheme(一):Windows Store协议的解析和使用

协议是Windows Phone和Windows Store应用的一个重要特点,可以做到在不同应用之间进行互相呼起调用。小小协议,学问大着呢。我打算写几篇关于协议在UWP中使用的文章。

这一讲的主要对象是Win10系统自带的应用商店应用所支持的相关启动协议ms-windows-store。

一.ms-windows-store协议的调用方式

ms-windows-store协议支持在Web或者UWP应用内调用,都能直接将系统自带的应用商店启动起来。

1.通过Web启动应用商店

大家可能注意到,平时我们在浏览器打开一个Win10应用的url链接时,系统自带的应用商店会被调起来,这里面的玄机就是使用了ms-windows-store协议!

比如下面这个UWP应用:/store/apps/9nblggh5x991

(顺便安利一下我最新的UWP应用——礼物说 - 最全美物收藏地)

用F12大法查看这个页面的源码,会发现以下这段代码

1 <iframe id="cli_redirectFrame" class="hidden"></iframe> 2 <script> 3oneStoreRedirect(oneStoreUserAgent(), document) 4 .autoRedirectToNativeStorePdp("cli_redirectFrame", { 5"threshold":"ms-windows-store://pdp/?productid=9NBLGGH5X991\u0026referrer=unistoreweb", 6 "win8x":"ms-windows-store:PDP?PFN=39014AppChampionStudio.-_ttcpf2hpawt8p\u0026referrer=unistoreweb", 7 "phone81":"ms-windows-store:navigate?appid=ddc54195-22fd-43f3-ab67-964ca250bd6c\u0026referrer=unistoreweb", 8 "phone807x":"zune://navigate/?appid=ddc54195-22fd-43f3-ab67-964ca250bd6c\u0026referrer=unistoreweb" 9 }, '9NBLGGH5X991', false, '礼物说 - 最全美物收藏地', true, true, false, false);10 </script>

在页面加载的时候会自动执行这段代码,作用就是自动去调用ms-windows-store协议,尝试把系统的应用商店App启动起来,并导航到具体的应用页面:

在Web中使用协议的方法非常简单,只需把ms-windows-store协议的Url类比成一个http协议来请求就可以了。

2.在UWP应用中启动应用商店

在UWP应用里,也可以将系统的应用商店启动起来。事实上,任何协议都可以试着使用如下API来调用:

1 await Windows.System.Launcher.LaunchUriAsync(new Uri(InputUri));

事实上“ms-windows-store://”的作用相当于"http://",ms-windows-store就是一个自定义的URI Scheme,紧跟着的参数规则严格按照Uri格式进行。

当然UWP应用(实际上应用商店也是一个UWP应用)可以在Package.appxmanifest的“声明”中,声明这个UWP支持某个自定义的协议(比如叫做myscheme),那么只要在任何地方(Web、UWP App、iOS App、安卓App,甚至自己这个UWP)调用(myscheme://,注意带有“//”),这个UWP都可以被启动起来。从UWP的生命周期角度讲,不应该叫“启动(Launch)”起来,而应该是被“激活(Activated)”起来。App.cs可以通过OnActivated方法接收到自定义协议里带着的Uri参数,从而自行进行解析并作页面导航处理。这一部分内容我们留到下一篇具体展开。

二.ms-windows-store协议的高端用法

我们这讲的主题是应用商店的协议,前面讲了很多光是启动商店进入一个应用的详情远远不能满足我们平时的开发需求,你可能还需要求好评功能。

MSDN文档对ms-windows-store作了非常详细的介绍,链接:/en-us/library/windows/apps/mt228343.aspx

以上ms-windows-store协议的规则适用于Win10 UWP应用,部分规则WP或Win8.x并不适用。

小结

本讲的主题是Win10自带的应用商店相关协议的规则,并介绍了URI Scheme的基本原理。下一讲我们讲UWP里使用URI Scheme的具体用法,解析响应以及适用场合。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。