iPhone:将信息从网页传递到从App Store下载的应用程序

时间:2009-11-18 18:42:22

标签: iphone app-store

我正在尝试将网页上的信息粘贴到一个表示网页建议下载的iPhone应用程序中。我控制网页和可下载的应用程序。

情景是这样的:

用户访问我的网页,我认识用户(他可能已经登录,我将他的信息存储在cookie中)。然后,我向App Store中的应用程序提供了一个链接,他应该下载该应用程序以获取我的此Web服务的“增强体验”。 现在,当用户在他的iPhone上启动下载的应用程序时,我想重新识别之前访问过该网页的用户。

如果iPhone应用程序可以读取Safari的cookie,那么一切都会很容易。但它不能。

一个有点蹩脚的解决方案可能是Web服务器存储访问者的IP地址,并在启动iPhone应用程序后使用它来识别他。但这不可靠。

另一种方法是给用户一个他需要记住的令牌(代码),然后在应用程序中重新输入。我觉得还是很尴尬。

有更好的建议吗?

5 个答案:

答案 0 :(得分:1)

简单地说,你不能这样做。

您可以考虑使用custom URL scheme来启动应用。您可以向用户发送使用此自定义链接的电子邮件。然而,这有几个问题:

  • 用户可能没有他们用于在iPhone上设置的网站注册的帐户。这似乎不太可能,但是说用户5年前使用他们的Hotmail帐户注册了您的网站,并且他们已经切换到Gmail。

  • 电子邮件不太可能适合他们的工作流程。他们可能会下载应用程序并通过触摸图标而不是单击收到的电子邮件中的链接来启动它。

您也可以将自定义网址作为链接添加到您的网页上,但同样,这也不适合工作流程,因为他们必须转到App Store应用程序进行下载。

考虑到这一点 - 如果你有某种具有身份验证步骤的网站,那么说用户就是已经在iPhone上安装了Facebook等应用程序的人就可能是一个公平的赌注。他们已经习惯了必须将他们的凭证输入应用程序的范例,尽管他们可能已经在Safari中完成了它。

答案 1 :(得分:1)

如果您可以从网页上的javascript中读取唯一的iPhone设备ID,那么当应用程序连接时,您可以再次查找...

但是我找不到任何方法从Mobile Safari中的Javascript中读取这些内容,我想我会发布以防现在有办法给你另一种选择。

答案 2 :(得分:0)

好的,我们找到了一个有点工作的解决方案:html代码可以创建一个cookie。稍后,当应用程序运行时,它无法直接读取该cookie,当然(由于iPhone应用程序的沙盒)。但是,它可以连接到服务器,然后打开指向服务器的http URL,并包含事先从服务器获取的唯一令牌。这导致启动Safari,访问服务器。服务器现在可以读取上述cookie,并最终在令牌的帮助下建立连接。

答案 3 :(得分:0)

偶然发现了这个问题,如果您考虑使用UIWebView,我很好奇。 问题是 - UIWebView是否与safari共享cookie?

如果确实如此,其余部分应该很容易。

答案 4 :(得分:0)

UIWebView不与Safari共享cookie。所以不幸的是,这不是一个选择。