Facebook App链接(深层链接)无法在移动浏览器上运行

时间:2016-09-16 20:32:24

标签: android ios facebook-graph-api deep-linking applinks

我遇到与Facebook分享链接应用程序的问题。我有网页的以下元标记。我想要的是当用户将页面分享到Facebook,以及点击帖子时。它应该触发启动本机应用程序的intent。

奇怪的是,当我点击移动chrome / safari上的facebook分享时,它会忽略应用程序链接并直接进入该网页。检查Facebook的HTML,标签链接到网页,没有提到应用程序链接。

然而,当我在Android上使用facebook本机应用程序时,它确实触发了启动我的应用程序的意图。也就是说,ios上的facebook native app不能正常工作(进入网页)。

应用程序链接在facebook打开图表检查器上显示正常。它似乎总是使用我的og:url(我尝试使用if语句如下所示不呈现标记,但它仍然以某种方式推断了URL。)

我的问题为什么facebook web on mobile使用网址而不是应用链接。有没有办法做到这一点 ?

<% if @app_links%>
  <meta property="al:ios:url" content="<%= @app_links[:deep_link] %>" />
  <meta property="al:ios:app_store_id" content="<%= @app_links[:ios][:app_store_id] %>" />
  <meta property="al:ios:app_name" content="<%= @app_links[:app_name] %>" />
  <meta property="al:android:url" content="<%= @app_links[:deep_link] %>">
  <meta property="al:android:package" content="<%= @app_links[:android][:package] %>">
  <meta property="al:android:app_name" content="<%= @creation_og_deep_link[:app_name] %>">

  <!--fallback-->
  <meta property="al:web:should_fallback" content="false" />
<% else %>
   <meta property="og:url" content="<%= page_url %>"/>
<% end %>

1 个答案:

答案 0 :(得分:1)

这是预期的行为

无法在网站上下文中实施App Links行为。为了正确处理未安装的应用情况以及回退到App / Play商店或指定的网页,所有current implementations都在第三方应用中。换句话说,即使Facebook想要使用移动网站上的App Links数据重定向到应用程序,他们也无法顺利完成,因为没有主要的移动网络浏览器应用程序(Safari,Chrome等)实施了App Links标准,但不太可能这样做。

正如您所指出的,Android上的原生Facebook仍然可以正确实现App Links。但是,iOS上的本机应用程序暂时还没有这样做,这是Facebook基本上以wontfix注销的known issue。不幸的是,他们对这一变化并不是更加透明,因为它存在很多混乱。

但你可以解决它

Branch.io等服务(完全披露:我在团队中)通过实施App Links,URI方案和iOS Universal Links的明智组合来解决这个问题。如果您只是希望能够在安装时发布进入应用程序的链接,或者转到网页(或应用程序/ Play商店),那么分支链接绝对是您最简单的解决方案。

分支链接路由逻辑

Branch link routing logic