通过FBSDKShareDialog共享忽略目标页面上定义的applink

时间:2015-05-26 21:58:20

标签: facebook-ios-sdk applinks

这一直让我疯狂:

我有一个定义了自定义网址方案的iOS应用,并且我尝试在FB上共享指向其applink元标记中包含此方案的网页的链接,以便点击它应该启动我的应用。< / p>

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

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

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

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

2 个答案:

答案 0 :(得分:3)

如果有其他人遇到此问题,请点击FB的回复:

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

    自Facebook应用程序需要以来,这并未表现出Web模式   从服务器拉出来获取帖子,在这种情况下它拥有所有   应用链接信息。

         

    我们不太可能解决这个问题。但是,过了一会儿,   缓存将过期,Facebook应用程序将重新拉出帖子   服务器,在这种情况下,应用程序链接数据将可用。

         

    为了测试这一点,您可以在一台设备上共享帖子,然后   尝试点击其他设备上的帖子。应用链接应该   那时工作。

这是一种蹩脚的回复IMO - 他们解析目标页面来构建预览,记住applink并使用它有多难?

答案 1 :(得分:0)

可能存在两个问题:

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

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

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

<强>解决方案

要解决此问题,请使用以下链接 Facebook debug tool

输入包含网页网址和

的元数据

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

  • 点击获取新的抓取信息,以便在Facebook上刷新您的网址。它将清除Facebook服务器中该URL的缓存。