如何在模拟器中测试Branch.io?

How to test Branch.io in simulator?

我正在摸不着头脑,我应该如何在模拟器上测试我的 branch.io 集成。

对于 link 代,我使用 Javascript/web SDK 而不是 iOS SDK。当您在我的着陆页上单击 'view content in app' 按钮时,它会生成 link 并跟随它。

所有这一切都很好,但是当我在模拟器中打开跳转页面时,它实际上从未尝试打开具有相同包标识符的 phone 上的本地应用程序。

我猜这可能是因为当前的应用程序商店 URL 框是空白的(因为它还不存在)...但我不确定我应该如何测试它是否如果我无法获得 deeplink 在本地触发它,则可以工作。

谢谢!

@Tallboy,不幸的是,模拟器不适合测试深度 links,原因有两个:

  1. 模拟器上没有 App Store,所以你看不到真正的重定向行为
  2. 模拟器不支持Universal Links

您完全正确 -- 您可以单击 link 然后手动打开该应用程序。在这种情况下,我们使用我们的 "deferred deep linking" 机制来确定之前单击了 link。我们的文档 here.

中讨论了该方法

如果您对此有任何疑问,请提问。您也可以通过 support@branch.io.

联系 Branch 团队

不太理想,但如果您只是想通过分支将静态参数传递给您的应用程序 link 并在模拟器中测试您的应用程序对它们的实现,您可以将它们硬编码在分支 initSessionWithLaunchOptions:andRegisterDeepLinkHandler: 块。每次应用程序再次激活(即,如果它在后台)和应用程序启动时都会调用此块,即使它在 application:didFinishLaunchingWithOptions:.

中使用也是如此

Branch 处理程序块传入一个 params 字典,您可以覆盖它(如果该块不是从点击的 link) 或创建您自己的应用程序以传递到您的应用程序中。

这显然不适用于测试桌面网站重定向或 App Store 下载(或 Branch 的许多其他用例),但如果您只是想测试从点击 link(或者在我的例子中,当我没有 4S 可供测试时,动态生成的视图在 4S 上的外观),它完成了工作。

我是通过使用“提醒事项”应用来做到这一点的,创建一个新列表,将 url 作为新项目添加到该列表中,然后 click/tap 添加到该项目中的 link。它应该打开你的应用程序。 :)