30

问题- 在 Facebook Mobile 上打开 Firebase 动态链接时,Facebook 浏览器会使用深层链接,并且不会打开预期的移动应用

问题— Firebase中是否有一个很好的解决方法来帮助 Facebook 兑现按预期呈现我的动态链接的承诺?

我们知道http://applinks.org,并且 Facebook 是贡献者。Firebase是否有办法使用 AppLinks 规范配置他们的服务器,以便 Facebook 将通过深层链接传递到我们的应用程序而不是使用它?

背景— 我为 iOS 和 Android 应用创建了Firebase 动态链接

动态链接提供了我所期望的一切,是一种奇妙的体验。

  1. 在 iOS 上打开时,它会导航到应用程序。如果没有安装,它会进入 App Store
  2. 在 Android 上打开时,它会导航到应用程序。如果未安装,请转到 Play 商店
  3. 在非移动设备上打开时,它会导航到我们的网站
  4. 在 Facebook 手机上,1 和 2 都不会发生。结果是它直接进入了移动网络体验,从而消除了 Firebase 动态链接的承诺
4

6 回答 6

7

为了避免这种情况,我们制作了一个重定向到 Firebase 动态链接的网页。有了这个解决方案,我们可以:

  1. 使用我们的域,而不是 firebase url。
  2. 确保 firebase 链接在所有情况下都有效,例如从自定义浏览器(fb、samsung)打开时。

这样做的缺点是您总是需要通过带有重定向的网页。

于 2016-06-15T11:26:48.257 回答
3

我最近不得不将动态链接集成到我的一个客户应用程序中,由于深度链接在 facebook+android_app 上不起作用,我遇到了很多麻烦。

由于价格原因,我无法迁移到 branch.io,因此我不得不以不同的方式解决问题,因此遵循了@Rahul Shukla 的建议。

我以一个非常简单的 nodejs+express 设置结束,在该设置中我收到动态链接 ID 并返回一个 HTML,其中包含 facebook applinks (android + iOS) 和重定向脚本 (window.location = 'your_dynamic_link') 所需的所有元标记要使用的其他客户端。

最好的部分是,现在在 facebook 上,应用程序直接打开,没有两个平台的预览页面,并且链接通过脚本重定向在所有浏览器上工作。

这是要点

于 2020-01-12T20:04:52.583 回答
3

我找到的解决方案是从这样的网页重定向到动态链接

window.location.href = "intent:https://example.page.link/2wertygf456#Intent;end";

这将在您的系统默认外部浏览器中打开链接,并且深度链接可以完美运行。
仅在 facebook 应用内浏览器上触发此操作

if (ua.indexOf("FBAN") != -1 || ua.indexOf("FBAV") != -1) {window.location.href = "intent:https://example.page.link/2wertygf456#Intent;end";}
于 2020-12-16T06:23:21.180 回答
3

我们一直在努力解决类似的问题,这就是我们最终解决它的方法:

假设这是您要分享的最终 Firebase 网址

https://xxxx.app.goo.gl/?apn=com.your.package&link=http://www.yourwebsite.com

现在在您网站的 index.html 页面中,添加以下元标记

<meta property="fb:app_id" content="your_fb_app_id" />
<meta property="al:android:package" content="com.your.package" />
<meta property="al:android:app_name" content="YourAwesomeApp" />
<meta property="al:android:url" content="somescheme://XYZ" />   <!-- identifiable by your app, your app must handle this data scheme inside your manifest's intent-filter tag --!>
<meta property="al:web:should_fallback" content="true" />
<meta property="al:web:url" content="http://www.yourwebsite.com/" />

现在,该应用程序在单击使用此链接共享的 Facebook 帖子时启动。

于 2017-01-11T13:32:51.950 回答
1

与 facebook 应用程序的深层链接在 android 中不起作用,因为 facebook 使用 InAppBrowser,如果您想让您的深层链接 url 在 facebook 中可用。您可以更改 Facebook 设置,例如:在 Facebook 应用程序中:转到个人资料 -> 应用程序设置 -> 检查链接在外部打开。

更改设置后,您将从 facebook 应用程序 android 打开深层链接

于 2017-01-27T06:13:02.913 回答
1

我尝试了一些方法,但完全失败了。当我在 Facebook 帖子中使用动态链接时,它会显示一个对话框,询问我是否要打开应用程序(我还没有安装我的应用程序)。虽然我接受打开应用程序,但没有任何反应,它没有按预期打开 Apple Store

我必须使用下面的链接来强制它打开苹果商店应用程序 https://myapp.app.goo.gl/?link=http://mylink.com&ifl=https://itunes.apple.com/us/app /apple-store/idxxxxxxxx%3Fmt%3D8%26ct%3Dutm_source

于 2016-08-23T20:26:16.140 回答