【问题标题】:Universal Link does not work in Safari通用链接在 Safari 中不起作用
【发布时间】:2017-11-26 03:15:09
【问题描述】:

我已经在我的应用中实现了谷歌登录。问题是当我去 Safari 登录时,我希望将用户重定向回我的应用程序。

我尝试的第一种方法是使用自定义 URL 方案。这行得通,但是向用户显示了一个弹出窗口,上面写着“你想打开(app name)”。

看来这个弹出窗口的解决方案是我已经实现的通用链接。我现在可以从 Notes 和其他应用程序无缝导航到我的应用程序。但是,当我在我的应用程序中尝试此操作时,它不起作用,并且用户被重定向到网站而不是应用程序。

为了进行测试,我创建了一个网站并在其中添加了一个按钮,该按钮链接到我的原始网站。当我在 Safari 中打开该网站并单击按钮时,我的应用程序就会打开。那么为什么从 google 登录到我的网站的重定向没有打开我的应用呢?

【问题讨论】:

标签: ios objective-c safari google-signin ios-universal-links


【解决方案1】:

通用链接适用于自动重定向。它们必须通过某种用户操作来触发。链接 URL 还需要位于与单击链接的页面不同的域/子域中(例如,example.domlink.example.com)。

根据您对 Notes 和其他应用程序的链接行为的描述,您的配置似乎是正确的,您只是在尝试执行 Universal Links 不支持的操作。

对于通过 Google 找到此问题并且没有正常工作的 Notes 链接的其他人,请尝试来自 Branch.ioUniversal Links validator tool(完全披露:我在 Branch 团队)。

【讨论】:

  • 哦不,那我该如何实现呢?我看到很多应用程序从 Safari 返回而没有弹出窗口。他们是怎么做到的?
  • 我不知道有什么方法可以完成它。您能否分享一个从 Safari 重定向而没有弹出窗口的应用示例?
  • 火种,BookMyShow,Box8。无论如何,我发现如果我使用 Google SDK 登录它会在登录后直接返回应用程序。当前实现使用我在 Safari 中打开的 URL 登录。看起来使用 Google SDK 是唯一的解决方案。
  • 这些应用程序没有使用 Safari 本身——它们使用的是SFSafariViewController。由于用户从不离开原始应用程序,因此您不是在“重定向回来”……您只是在关闭视图控制器。
  • 谢谢,我试试用这个。
猜你喜欢
  • 1970-01-01
  • 2018-02-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
相关资源
最近更新 更多