【问题标题】:Deep linking with Facebook与 Facebook 的深度链接
【发布时间】:2017-07-17 09:20:25
【问题描述】:

在我的 iphone 应用程序中,我有一个要求发布到 facebook 的帖子。当我从 Facebook 单击同一个帖子时,主机应用程序应该会出现。当我在这里搜索 https://developers.facebook.com/docs/applinks/ios 时,它需要在我的文件中添加一些元数据。所以我做到了。

<meta property="al:ios:url" content="schemename://" />
<meta property="al:ios:app_store_id" content="app store id" />
<meta property="al:ios:app_name" content="Example App" />
<!-- Other headers -->

但它既不会打开我的应用程序,也不会重定向到 iTunes。 请告诉我我在这里做错了什么??

【问题讨论】:

  • 使用调试工具更新元数据缓存,并验证没有错误。 developers.facebook.com/tools/debug
  • 推断属性 'og:url' 属性应该明确提供,即使可以从其他标签推断出值。此应用程序链接中的应用程序 ID 有错字 该应用程序尚未在其商店中发布,但该应用程序仅在平台可能不支持的国家/地区可用....我收到这些错误但我已经发布了此应用程序到应用商店。
  • 好的。我清除了调试器工具报告的所有错误。仍然没有重定向到我的应用程序
  • purposecodes.com/purposetest/applinks.html这是我用来调试的url
  • 在进行这些更改后,您是否在 Facebook 上发布了新帖子,或者至少更新了现有帖子?

标签: facebook deep-linking


【解决方案1】:

还有另一种解决方法。我通过逆向工程发现了 Spotify 如何管理深度链接。要看到这一点 - 在您的提要上分享一个 Spotify 播放列表。 Facebook iOS 应用将从共享播放列表直接启动到 Spotify iOS 应用。

长话短说 - Facebook 已为 Spotify 启用此功能。如果你把这个元标记放在:

<meta property="fb:app_id" content="174829003346">

然后您的深层链接将神奇地起作用(即 Spotify facebook 应用 ID)。我仍在尝试确定这是由于应用程序配置错误,还是我们正在调查潜在的反垄断案件。

顺便说一句 - 这不是一个可行的解决方案。如果您的应用程序(以及 URL 方案)未安装,Spotify 应用程序将在其位置打开。然而,这是非常有趣的行为。

【讨论】:

    【解决方案2】:

    这是 2017 年的预期行为。

    你使用的al:ios:url标签应该可以做到这一点。不幸的是,这个功能在iOS上已经被破坏了一年多,它实际上是Facebook写的known issue关闭为wontfix

    如果al:web:should_fallback 设置为false,Facebook 现在只会在 iOS 上进行深度链接。这意味着如果您的应用没有安装,用户将始终被带到 App Store 页面而不是您自己的网站,即使您指定了al:web:url。大多数精明的品牌不希望新用户的第一体验是 App 或 Play 商店页面,他们也不愿意牺牲归因数据。正因为如此,al:web:should_fallback 现在几乎普遍设置为false,这意味着目前没有可行的方法可以直接从 iOS Facebook 应用中的新闻源启动第三方应用。

    Android 版 Facebook 应用程序仍然可以正常运行,但显然这种情况随时可能发生变化。不幸的是,Facebook 对 iOS 版本的更改并没有更加透明,因为对此存在相当多的困惑。

    你可以阅读更多关于这个问题背后的细节here

    但是有一个解决方法。

    Branch.io 等服务(完全披露:我在团队中)通过实施应用链接、URI 方案和 iOS 通用链接的明智组合来解决这个问题。本质上,您需要做的是在 web 视图中打开一个页面,然后有一个按钮或其他用户驱动的 CTA 事件从那里启动应用程序。这对用户来说是一个额外的步骤,但目前是最好的解决方法。如果您只想发布一个链接,该链接在安装时进入您的应用程序,否则进入网页(或 App/Play 商店),那么分支链接绝对是您最简单的解决方案。

    分支链接路由逻辑

    【讨论】: