2

这让我整天发疯:

我有一个定义了自定义 URL 方案的 iOS 应用程序,并试图在 FB 上共享一个链接,该链接指向一个在其 applink 元标记中具有此方案的页面,因此点击它应该会启动我的应用程序。

它的每一小块都工作得很好。我可以在手机上的 safari 中输入我的 URL 方案,然后浏览器启动我的应用程序。我已经使用 FB 调试工具测试了我的网页,并且没有错误或警告 - 它正确识别了所有元标记。

如果我在手机或笔记本电脑上使用 FB 分享链接,一切正常。

但是,如果我使用 FBSDKShareDialog 共享完全相同的链接,它就不起作用。它只是打开带有元标记的网页,就好像它是任何常规网页一样。

任何人都知道为什么这两种共享方式会有所不同?否则它们看起来完全一样。

4

2 回答 2

3

如果其他人遇到这个问题,以下是 FB 的回复:

  1. 当您以自动模式共享时,该应用程序会快速切换到 FB 应用程序以显示本机共享对话框
  2. 帖子在设备本地缓存,它不知道应用程序链接(因为只有 Facebook 服务器端知道)
  3. 当用户打开 FB 时,用户会看到他们缓存的故事(没有应用链接行为),

这不会在 Web 模式下体现出来,因为 Facebook 应用程序需要从服务器拉取帖子以获取帖子,在这种情况下,它具有所有应用程序链接信息。

这不太可能是我们要解决的问题。但是,一段时间后,缓存会过期,Facebook 应用会从服务器重新拉取帖子,此时应用链接数据将可用。

为了测试这一点,您可以在一台设备上分享帖子,然后尝试从另一台设备点击帖子。应用程序链接此时应该可以工作。

这是一种蹩脚的响应IMO - 他们解析目标页面以构建预览,记住应用链接并使用它有多难?

于 2015-06-03T10:29:35.297 回答
0

可能有两个问题:

  • 要么是@NJ 告诉的那个,即您只是试图在 Facebook 应用程序中打开链接,使用您发布链接的同一设备。

解决方案- 在其他设备中打开链接或重新打开您的 Facebook 应用程序并进行多次刷新

  • 或者您的元标记中有一些错误。但有一件重要的事情,Facebook 从未提及,即他们缓存您提供的 URL。因此,任何人第一次在 Facebook 中使用带有元标签的网络链接,整个元标签都将被缓存,而您更新的元标签将不会被 facebook 解析。

解决方案

要解决此问题,请使用以下链接 Facebook 调试工具

输入您的元数据,包括网页 URL 和

-单击显示现有的抓取信息以查找任何错误

  • 单击获取新的抓取信息以在 facebook 上刷新您的 URL。它将清除 facebook 服务器中该 URL 的缓存。
于 2015-09-18T06:24:33.163 回答