将信息放入新安装的应用程序中

时间:2015-01-06 07:33:52

标签: ios app-store url-scheme

我必须创建一个iOS应用程序,它需要在安装后立即知道引用代码。代码来自电子邮件或浏览器中的链接。目标是使应用程序具有引用代码,无论它是否已安装在用户的设备上,或者通过单击链接来安装它。

我已经知道的事了:

  • 我必须在我的应用中注册一个网址方案,例如myapp://
  • 我必须通过此网址处理,并识别其中的引荐来源代码(myapp://refcode=123
  • 我必须有一个网络服务,它可以检测(使用JavaScript)用户的设备是否可以处理我的网址方案(例如:https://stackoverflow.com/a/6599773/511878
  • 如果未安装应用程序,我可以将用户发送到App Store下载,否则我可以通过此URL打开应用程序并将信息传输到其中

我想念的是:如何在安装后立即调用此URL?

我确信直到今天早上才能做到这一点,当时我发现Apple的TestFlight正在做同样的事情。我收到了一封包含某个应用程序邀请的电子邮件,点击了该链接,并且因为到目前为止我没有在该设备上安装TestFlight,它将我带到App Store,在那里我点击了安装。该设备安装了TestFlight应用程序。在此之后,我点击了商店中的“打开”按钮,该按钮立即显示了对我的邀请。

我认为解决方案无法识别我,并根据我的用户帐户从服务器中获取邀请,因为我可能有多个邀请,因此必须知道要显示哪个。

编辑:发生这种情况的视频:http://gk.lka.hu/x/tf.mov

所以问题是:如何在点击链接而不重新点击链接后将信息传输到正在安装的应用程序中?

1 个答案:

答案 0 :(得分:1)

我是Branch的开发人员,我们最近构建了此系统供其他人使用。如果您想从头开始构建类似的系统,这里有一个您必须做的事情的例子:

  1. 在重定向到App Store之前,您上面描述的Web服务必须从用户捕获一些信息,例如IP地址,操作系统,操作系统版本,屏幕大小等。它应该将其与被点击的链接相关联,或者至少与链接(http://yoursite.com/redirect?refcode=123)中的重新编码相关联。

  2. 下载应用程序后,首次打开应用程序时,会向服务器发送相同的信息(IP地址,操作系统等)。如果您的服务器看到这些参数并且它们与您在步骤1中获取的信息相同,那么它应该将refcode = 123传回您的应用。

  3. 然后你的应用应该处理你认为合适的123 refcode(例如,打开相应的视图控制器,应用引用代码等)。

  4. 希望这会有所帮助。从头开始构建它肯定比听起来更难......