2

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

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

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

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

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

有任何想法吗?我需要两个想法 - 检测应用程序是否已安装并启动它

4

1 回答 1

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 应用程序打开),这就是为什么我猜网站上有一个检查。

于 2017-02-04T09:33:45.540 回答