我遇到与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 %>
答案 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商店),那么分支链接绝对是您最简单的解决方案。
分支链接路由逻辑