2

这是我的场景:我有一个带有消耗品的 iPhone 应用程序(用 Monotouch 编写,但与设计无关)。安装应用程序时,我赠送 25 个免费消耗品。如果用户删除该应用程序并重新安装它,他现在将获得相同的 25 个免费消耗品。我需要一种方法来防止这种情况。

所以我想出了在服务器(我的网站主机?)上建立一个数据库的想法,它会有一个 UDID 列表。如果用户的 UDID 在数据库中(这意味着他已经安装了应用程序),则会将响应发送回应用程序以将消耗品计数设置为零。如果 UDID 不在 d/b 中,则添加它并如此指示响应(新应用程序)。

我正在考虑在服务器端使用 REST(更简单)和 Linux 主机。我的问题是:

  1. 有没有更好的方法来做到这一点?
  2. 服务器上选择的语言是什么?
  3. sqlREST 呢?(对我来说看起来很不错,但是在上述情况下它可以工作吗?)
4

2 回答 2

1

好吧,我可以告诉你我选择的语言是什么:ASP.NET/C# 结合 SQL Server DB。我的网站在托管商处运行,该托管商每月只需几美元即可提供这种组合。

你甚至不需要网络服务。您可以在您的服务器上设置一个 ASPX 页面并使用 NSString.FromUrl(或任何调用方法)调用它:“mycounter.aspx?udid=1234”。每次调用页面时,它都会增加传入的设备 ID 的计数,并且它唯一输出的是剩余请求的数量。您的客户端将该响应解析为整数,如果它为零,则通知用户。

您可能应该添加一些散列以确保邪恶的 Krumelur 不会访问您的 URL 并调用它来获取随机设备 ID,从而使它们无法使用。:-)

勒内

于 2011-01-27T20:06:50.037 回答
0

答案实际上取决于您的虚拟主机。他们支持什么。这可能取决于您的交易量等。

由于您使用的是 Monotouch,我假设您对 .net/c# 世界感到满意。

我会看一个用 c# 编写的 WCF Web 服务。这反过来将使用 SQL 服务器进行存储。当然,您可以直接使用 SQL Server 存储过程。

sqlREST 看起来很有趣,但乍一看,您似乎需要运行 Appache + Tomcat 堆栈才能使其工作。

如果你只是想要尽可能低的酒吧让它工作,那么我同意另一张海报...... ASP.NET + SQL 服务器也可以完成它。

于 2011-02-09T17:24:20.357 回答