【问题标题】:iOS App Link can be opened from gmail/safari but not from facebook/twitteriOS App Link 可以从 gmail/safari 打开,但不能从 facebook/twitter 打开
【发布时间】:2023-03-09 21:49:01
【问题描述】:

我尝试从 facebook/twitter iOS 应用程序打开一个 iOS 应用程序。

为此,我使用 App 链接,使用 info.plist 中的密钥:CFBundleURLSchemes

我做什么,为了在 twitter/facebook 帖子中有一个可接受的链接,我使用了一个虚假网页,该网页具有将我重定向到我的应用程序的 url 链接的功能。 例如:“myapp://”

如果我使用 safari 打开我的 facebook 帖子 (url),这会很好。

但是当涉及到 facebook/twitter 应用程序时,它会重定向到新网页,但不会提示弹出窗口打开我的应用程序。我可以在日志中看到错误:“此应用不允许查询方案 myapp”

我的第一个理解是,这是由于 iOS 9 的限制,您应该在白名单 [LSApplicationQueriesSchemes] 中提及您接受从您的应用打开哪些应用网址。

但令人惊讶的是,当尝试从 gmail 应用程序(不是操作系统应用程序)打开相同的网页时,它会毫无问题地打开我的应用程序。

我做错了吗?

【问题讨论】:

  • 我猜这是因为 facebook/twitter 没有使用默认的 iOS 浏览器,除非他们在 LSApplicationQueriesSchemes 下的 info.plist 中列出任何应用程序,否则他们无法打开任何应用程序
  • 这可能是因为,正如您所提到的,Facebook 和 Twitter 内部浏览器处理通用链接的方式。许多不同的应用程序和浏览器破坏了通用链接(与 iOS9.2 及更高版本相关),这在许多情况下包括 Facebook 和 Twitter。如果已经打开了 web 视图,您有时可以将其用于 Twitter 和/或 Facebook。它们不适用于提要/主视图的应用程序内。它们还必须是跨域的。
  • 我通过在我的网页中使用元数据解决了这个问题。对于 facebook,他们称之为“App Link”,对于 twitter:“App card”

标签: ios facebook ios9 deep-linking applinks


【解决方案1】:

您必须在 CFBundleURLSchemes 中指定 Facebook 和 Twitter 的方案。阅读此post 了解 Facebook 解决方案。

编辑

我已按照这些步骤进行操作,一切顺利。 App Links on iOS 的 Facebook 教程。 希望这能解决您的问题!

【讨论】:

  • 同样它不起作用..即使我尝试在 safari 中打开 fb 它可以工作但不能在 facebook 应用程序中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-11
  • 2013-04-10
  • 1970-01-01
  • 2012-07-04
  • 2023-03-22
相关资源
最近更新 更多