如何使用我自己的域名缩短Firebase动态链接

时间:2016-12-23 17:04:47

标签: ios firebase firebase-dynamic-links

我试图在iOS应用中实施Firebase Dynamic Links。目标是为营销目的设置一个干净的URL,以便人们可以在社交媒体上分享链接。这个想法是人们将共享以我的域名开头的干净的URL。

在点击该链接后安装该应用时,我们希望能够通过查看Firebase提供的有效负载来跟踪推荐应用安装的用户。我认为此目标类似于Firebase的use case,可将网络用户转换为移动应用用户。

我想在社交媒体上分享的示例链接是:http://example.com/my-payload-here

我已经尝试了几个案例,但我无法得到我在任何情况下都在寻找的行为。有没有人以前成功实现过这个?

这是我的测试程序:

  1. 卸载应用
  2. 将要在iMessage中测试的链接发送给自己
  3. 点按我的iOS设备上的链接(不使用模拟器)
  4. 从App Store安装应用
  5. 点击"打开"下载完成后启动应用程序App Store中的按钮
  6. 以下是我的发现:

    1. 从Firebase控制台生成的短链接https://xyz.app.goo.gl/ABCD) - 在App Store中打开链接。我安装了应用程序。安装后启动应用程序时,不会传递有效负载。如果我退出应用程序,请返回iMessage中的链接,然后再次启动,交付有效负载。

    2. 长链接与"长动态链接相同"从Firebase控制台获取#1 https://xyz.app.goo.gl/?link=http://example.com/my-payload-here&isi=12345&ibi=com.example.MyApp)中生成的链接 - 行为与#1相同

    3. 使用我的域的短链接http://example.com/redirect/my-payload-here,配置为301重定向到#2中的URL) - 在App Store中打开。我安装。安装后启动应用程序时,不会传递有效负载。如果我退出应用程序,请返回iMessage中的链接,然后再次启动,该链接仍会转到App Store。

    4. 我有些问题:

      1. 为什么第一次启动时没有为案例1和2提供有效载荷?
      2. 我们如何才能启动应用并提供有效负载而不是去App Store?
      3. 我还在案例2中咨询了Firebase flowchart深层链接。

2 个答案:

答案 0 :(得分:3)

Firebase目前无法实现此目的。如果您需要带有白标的网址,则需要build it yourself或使用更强大的链接平台,例如Branch.io(完全披露:我是分支团队的成员。)

具体回答您的问题:

  1. 我在测试平台应用中实施了Firebase动态链接,并且可以确认第一次 为长短URL变体工作时通过安装进行链接。你的 AppDelegate 配置可能有问题,所以如果你想共享代码,我们可以看一下。
  2. Firebase目前不支持自定义域。从理论上讲(如果你可以解决上面的第一个问题)你可以通过使用你尝试过的重定向来实现首次安装。但是,一旦安装了应用,您将永远无法使用Firebase链接数据启动应用 。这是因为Universal Links基于链接的域工作,甚至不请求Web目的地。即使您在自己的域上手动启用通用链接,该应用也会立即打开,而不会调用Firebase,并且永远不会设置链接数据。

答案 1 :(得分:3)

Google Firebase团队为动态链接添加了对自定义子域的支持。

  • 您现在可以为动态链接指定最多五个自定义page.link子域。使用这些新自定义子域的短链接类似于以下示例:https://example.page.link/abcXYZ

  • 目前无法删除在项目上分配的Firebase动态链接域。(firebase团队正在努力。)

  • 您现在可以将可用作动态链接的深层链接(链接)或后备链接(ifl,ipfl,afl,ofl)的URL模式列入白名单。如果您定义了白名单,则动态链接不会重定向到与白名单模式不匹配的网址。

  • 您可以在Firebase console

  • 中尝试这两项功能