如何使用我自己的域名缩短Firebase动态链接
我正在尝试在iOS应用中实施Firebase动态链接 。 目标是为营销目的提供一个干净的URL,以便人们可以在社交媒体上分享链接。 这个想法是人们将共享以我的域名开头的干净的URL。
在点击该链接后安装应用程序时,我们希望能够通过查看Firebase提供的有效负载来跟踪推荐应用安装的人员。 我认为此目标类似于Firebase的用例 ,可将网络用户转换为移动应用用户。
我想在社交媒体上分享的示例链接是: http : //example.com/my-payload-here
我已经尝试了几种情况,但无论如何我都无法得到我正在寻找的行为。 有没有人以前成功实现过这个?
这是我的测试程序:
- 卸载应用程序
- 将要在iMessage中测试的链接发送给自己
- 点按我的iOS设备上的链接(不使用模拟器)
- 从App Store安装应用程序
- 通过点击App Store中的“打开”按钮,在下载完成后启动应用程序
以下是我的发现:
-
Firebase控制台生成的短链接 ( https://xyz.app.goo.gl/ABCD ) – 链接在App Store中打开。 我安装了应用程序。 在安装后启动应用程序时,不会传递有效内容。 如果我退出应用程序,请返回iMessage中的链接,然后再次启动,交付有效负载。
-
与Firebase控制台中的“长动态链接”相同的长链接,用于在#1中生成的链接 ( https://xyz.app.goo.gl/?link=http://example.com/my-payload-here&isi = 12345&ibi = com.example.MyApp ) – 行为与#1相同
-
使用我的域的短链接 ( http://example.com/redirect/my-payload-here ,配置为301重定向到#2中的URL) – 在App Store中打开。 我安装。 在安装后启动应用程序时,不会传递有效内容。 如果我退出应用程序,请返回iMessage中的链接,然后再次启动,该链接仍会转到App Store。
我有一些问题:
- 案例1和案例2首次启动时为什么没有交付有效载荷?
- 我们如何才能启动应用并提供有效负载而不是去App Store?
我还参考了案例2中深层链接的Firebase流程图 。
Firebase目前无法实现此function。 如果您需要带有白标的URL,您需要自己构建它或使用更强大的链接平台,如Branch.io (完全披露:我在分支团队)。
要具体回答你的问题:
- 我已经在testbed应用程序中实现了Firebase动态链接,并且可以确认第一次通过安装进行链接是否适用于长URL和短URL变体。 您的AppDelegate配置可能有问题,因此如果您想共享代码,我们可以查看一下。
- Firebase目前不支持自定义域。 从理论上讲(如果你能解决上面的第一个问题),你可以通过使用你尝试过的重定向来实现首次安装。 但是,一旦安装了应用,您将永远无法使用Firebase链接数据启动应用。 这是因为Universal Links基于链接的域工作,甚至不请求Web目标。 即使您在自己的域上手动启用通用链接,该应用也会立即打开,而不会调用Firebase,并且永远不会设置链接数据。
Google Firebase团队为动态链接添加了对自定义子域的支持。
-
您现在可以为动态链接指定最多五个自定义page.link子域。 使用这些新自定义子域的短链接类似于以下示例: https : //example.page.link/abcXYZ
-
目前无法删除在项目上分配的Firebase动态链接域。(firebase团队正在努力。)
-
您现在可以将可用作动态链接的深层链接(链接)或后备链接(ifl,ipfl,afl,ofl)的URL模式列入白名单。 如果您定义了白名单,则动态链接不会重定向到与白名单模式不匹配的url。
-
您可以在Firebase控制台中尝试这两项function。