Branch.io如何从主域上的通用链接迁移

时间:2017-10-25 21:25:59

标签: ios branch.io

目前我们的通用链接看起来像http://example.com/sharing/< id> /通过safari智能横幅打开我们的iOS应用程序。但智能横幅很糟糕,所以我们想要使用Branch.io旅程横幅,它实际上是在人们加载页面时出现的。由于这些链接已经在野外,他们需要继续工作已经有一些方法进入应用程序。将来我们会在应用内部生成branch.io共享链接,但这些着陆页将继续存在。

我正在从javascript调用branch.init('key_test_foo');,并显示Journeys横幅。它只显示“获取”按钮,从不“打开”。我不清楚如何通过branch.io传递对象ID,以便应用程序可以导航到正确的位置。

该应用程序是在Xamarin中构建的,我认为我按照示例正确构建了集成。它不是通过应用程序商店构建我的生产,我只是通过Visual Studio中的调试器运行应用程序。

我甚至会选择像imgur这样的“Open in App”链接,只要有一些东西我可以在safari中点击以在正确的位置打开应用程序。

每次看到此页面时,我都不觉得我必须“建立链接”,对吗?

编辑: 还有一个问题。我想我想改变我的og:url,这样当facebook刮擦我的页面时,它将通过分支打开(而不是回到我的网站)。但是我该怎么做呢? Facebook加载页面时不会运行任何JS吗?我可以将它设置为my.app.link并且魔法会发生在驱动深层链接路由的al:ios:url中吗?

我认为:https://stackoverflow.com/a/34596340/401636可能是解决方案。

1 个答案:

答案 0 :(得分:1)

<强> 1。导航到您的应用程序的Journey横幅。

Branch使用格式-alternate.app.link域的域作为Journeys按钮后面的链接。要确保单击Journeys CTA,导航到您的应用程序,请确保已在“关联域”文件中为您的应用添加了-alternate.app.link域。您可以查看提供有关如何添加域here的信息的文档。

<强> 2。 Journeys CTA的Get v/s Open问题

Branch使用变量has_app来确定设备是否具有应用程序。要将此变量设置为true,用户应单击Journey CTA并重定向到应用程序(而不是App Store)。此外,CTA不更新的问题在开发过程中很常见,因为应用程序经常在设备上重新安装。由于此测试,标志has_app进入故障状态。 要强制重置has_app变量以将Journey的横幅CTA从“下载”更改为“打开”,请按照以下步骤操作:

  1. 点击“下载”按钮 - 这应该重定向到Play或App Store
  2. 安装应用
  3. 返回带有Journeys横幅的网页,该横幅仍应显示“下载”按钮
  4. 再次点按“下载”按钮 - 该应用应该会打开
  5. 关闭然后使用Journeys横幅重新加载网页 - 横幅现在应该有一个“打开”按钮
  6. 点击“打开”按钮 请注意,只有在开发模式下才需要执行上述步骤以进行测试。在生产中,用户不会看到这个问题。此外,更新标志可能需要一些时间(长达30分钟)。
  7. 第3。导航到您应用中的正确位置

    如果您打算使用旧域链接进行深层链接,则可以将分支仪表板上的链接域更新为您的链接当前使用的域。然后,您可以使用Branch API重新创建链接。请注意,Branch将成为您域名的权威注册商,您不能在此域名中托管任何内容。

    如果您不希望这样做,可以在“旅程”按钮中附加其他链接参数。当用户点击Journey CTA并将其重定向到App Store /您的应用时,这些链接参数将在您的应用中提供。有关详细信息,请参阅文档here

    对于上述两种情况,为了阅读应用中的链接参数,您应该将分支SDK集成到Xamarin应用中。 (参考文献here