从移动浏览器(Safari, Chrome on iOS)中的Flutter Web应用程序重定向到移动应用程序



我有两个应用程序需要通过深链接进行通信:一个Flutter Web应用和一个Flutter Mobile应用。

基本上,流程需要是我点击在移动浏览器上运行的Web应用程序中的一个按钮,然后应该触发移动应用程序启动。

我遵循了设置深度链接的指定说明,并有2个观察结果:

  1. 一切都在Android上完美运行。
  2. 如果我点击任何其他iOS应用程序(日历,MS团队等)的链接,它会工作得很好。这让我相信深度链接已经正确设置。

我面临的问题是,我需要从我的WebApp获得链接工作。

我使用Flutter url_launcher包来打开带有launch()函数的链接。

有没有人有任何见解,我需要做什么,以获得从iOS浏览器的深层链接工作?任何帮助都会很感激。(

我用来启动url的WebApp中的Flutter代码:

final urlToLaunch = Uri.encodeFull(
'https://url-to-my-app'
);
await launch(
urlToLaunch,
universalLinksOnly: true,
);

我没有分享太多的代码,因为我不确定哪些是有用的。

Deep link

使用这个flutter包uni_links

尝试使用deepLink,即使用自定义方案myownscheme://代替https://

await launch(
'myownscheme://example.com/path?q1=v1&q2=v2',
universalLinksOnly: false,
);

最终的解决方案是使用Firebase动态链接.

动态链接是智能url,允许您发送现有的和潜在用户在你的iOS或Android应用程序中的任何位置在应用安装过程中存活下来,这样即使是新用户也能看到内容当他们第一次打开应用程序时,他们在寻找什么。动态链接永远免费,无论大小。

关于动态链接的更多信息请查看这篇文章https://levelup.gitconnected.com/handling-dynamic-links-using-flutter-and-firebase-2be5f6a85e1f

相关内容

最新更新