从网站打开UWP应用程序

时间:2017-02-03 21:06:51

标签: android ios firebase uwp firebase-dynamic-links

让我们从背景开始吧。我们正在iOS / Android / Windows上构建应用,我们将使用Firebase动态链接在用户之间共享内容(链接如下所示:https://xya.app.goo.gl?link=..。)。在iOS& Android如果已安装,可以启动应用程序,如果尚未安装,则可以打开Play / Store。这也有一个优雅的回退我们的网络应用程序的优势。

现在,Windows不支持本机。只有以下选项:

  • 自定义URI方案(例如app:// some-link)。不可用,因为我们的网络没有优雅的回退
  • URI处理程序 - 因为Anniversary Update应用程序可以为常规http URI注册处理程序。再次无法使用,因为我们不拥有用于链接的域http://goo.gl

这导致我只剩下一个可行的选项 - 在我们的网络应用程序上,检测用户是否在Windows上。如果是,请检查应用程序是否已安装并启动它,或检查Windows应用商店是否允许用户下载。

我的想法是否正确?如果是这样,我如何从网络应用程序启动我的应用程序/商店?应该可以,它适用于Store(当您导航到Windows应用商店时 - 例如https://www.microsoft.com/en-gb/store/p/ ... - 它会打开商店应用)

有什么想法吗?我需要两个想法 - 检测是否安装了应用程序&发布它

1 个答案:

答案 0 :(得分:1)

如果单击带有自定义URI方案的URI,但Windows中没有针对该URI方案注册的应用程序,则会要求从商店下载受支持的应用程序。您可以使用以下链接对其进行测试: app:// test(链接到非http(s)网站似乎在StackOverflow中不起作用,但您可以为此创建一个简单的演示HTML。)

<html>
<body>
    <a href="app://test">Test link</a>
    <a href="twitter://">Open twitter</a>
</body>
</html>

如果安装了处理该URI方案的应用程序,它将打开它,因此您需要检测您是否基本上在Windows 10上(我认为这是一个HTML / JS问题)。我认为这也是Windows Store基本上做的事情。因为它没有为每个应用程序打开商店应用程序(例如,如果您使用的是W10桌面,则不适用于WP8.1应用程序),这就是为什么我猜测网站上有检查。