Safari 和 PWA 之间的共享会话

问题描述 投票:0回答:1

目前,Safari 中的“添加到主屏幕”功能破坏了用户流程,其中 localStorage/sessionStorage/cookies 中保存的数据不会被转移到 PWA,使得用户即使已经登录,也会从 PWA 中的注销状态开始之前在 Safari 中。

我们有解决方案吗?我要求的解决方案是:

  1. PWA 和 Safari 之间共享存储
  2. 如何直接打开从 safari 到 PWA 的链接? (我打算通过url来分享session,点击按钮即可触发)

我搜索过共享存储的方法,但没有找到可靠的方法

还尝试使用 target="_blank" 的 href 链接,但它也只是在 safari 中打开一个新选项卡,而不是在 PWA 中打开。

safari progressive-web-apps
1个回答
0
投票

没有可用于在 Safari 和 PWA 之间共享数据的方法,甚至在同一 PWA 的两个安装之间也没有可用的方法,因为每个安装都被认为具有不同的来源。

这在 Android 上可以正常工作,但在 iOS 上则不行。

唯一的解决方法是在 Safari 中计算指纹,将其存储在远程服务器上以识别设备,并且在安装 PWA 后,计算相同的指纹并使用远程服务器进行恢复。您可以使用 ClientJS 之类的工具来实现此目的。

值得注意的是,根据我的经验,这仅适用于 iOS,不适用于 Android。

2)

您无法使用链接打开 PWA,因为 PWA 可以在 iOS 上安装多次(但不能在 Android 上安装),并且操作系统无法确定要打开哪一个。根据我的经验,它总是在 Safari 中打开。 在安装 PWA 之前,您也不能将会话链接存储在 URL 中,希望它能够通过,因为 PWA 仅使用 start_url 安装。

我了解您的目标,并且我已经花时间尝试类似的解决方案。这很有挑战性。我最终选择不再追求它,而是在 Safari 上创建了一个登陆页面,提示用户在继续之前安装 PWA。

祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.