通过自定义模式打开 flutter 应用 windows

Open flutter app windows by a custom schema

一些 windows 应用程序,如电报,可以通过浏览器使用自定义架构 url 打开。 当我在 windows 电脑上安装电报并在浏览器中输入 tg:// 时,它可以最大化电报应用程序或 运行 电报应用程序,如果尚未启动。

在 flutter 应用程序中,我们可以在 its document

的帮助下对 android 和 iOS 使用深度 link

但是如何用deeplink打开flutterwindows应用程序?

我发现 Flutter windows 应用程序中的 Deep link 支持很复杂。 您应该创建自定义注册表条目以将您的 URI 方案与您的应用相关联。你需要添加这个 library to windows app. this instruction 帮助你。为了在你的 flutter 应用程序中处理它,你应该编写一些 c++ 代码来移植你需要 flutter 的数据。
这个包将这个 sdk 移植到手机和网络上:flutter-branch-sdk

在 Universal Windows 应用程序 (UWP) 中处理深度 link 更容易,但它在 flutter dev 通道中并且不稳定并且还没有被其他第 3 方包支持。
你可以通过这个 instruction 激活 uwp 并通过 运行 此命令在现有项目中创建 uwp:

flutter create --platforms=winuwp

为了在“winuwp/runner_uwp/appxmanifest.in”中添加深度 link,请进行以下更改:

<Packages 
 ...
 xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
 xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
 IgnorableNamespaces="uap uap2 uap3 mp">
<Application>
<Application Id="App" ...
<Extensions>
    <uap3:Extension Category="windows.appUriHandler">
      <uap3:AppUriHandler>
        <uap3:Host Name="flungoportfolio.com" />
      </uap3:AppUriHandler>
  </uap3:Extension>
  </Extensions>
</Application>
</Application>

How to add Deep links in UWP.

以防有人仍在寻找解决方案,这里是:https://pub.dev/packages/uni_links_desktop 构建和 运行 示例项目。您将了解如何为您的应用配置主机。