11

我有一个应用程序,我希望用户能够支付少量费用来从中删除广告。我认为最好的方法是通过应用内购买(应用程序需要保持免费)。但是,我想知道删除广告的最佳方法以及用户购买升级后如何进行。任何帮助或建议将非常感谢。

4

3 回答 3

13

NSUserDefaults 中的布尔值似乎是正确的选择。您可以在启动时检查它是否应该显示广告,让应用相应地隐藏或显示广告,并在用户付费禁用它时将其设置为适当的值。

编辑添加:

刚刚在开发论坛看到这个。如果您特别担心越狱设备上的用户摆弄您的 NSUserDefaults 布尔值,您也可以使用钥匙串存储数据。钥匙串不能像 NSUserDefaults 一样被干预。该链接的更多详细信息。

我通常不相信在反盗版方面花费太多精力,但这是一种简单的掩饰自己的方法,而且成本并不比使用 NSUserDefaults 高得多。

于 2009-12-21T08:23:48.283 回答
0

另一种方法是记录购买或恢复时收到的 SKPaymentTransaction 的收据。在后续启动时,您可以在后台通过应用商店验证收据,如有必要,重新启用广告以供下次启动。

验证商店收据文档

虽然我不认为这可以保护您从其他地方粘贴有效用户的收据,但比在 NSUserDefaults 中切换布尔值更难规避。无论如何,任何人都不太可能为您的应用付费。

于 2011-01-17T22:22:30.780 回答
-2

好吧,这个问题不限于iphone。您应该应用许多安全算法中的一种。(我不知道购买是如何完成的,但我会提出建议)例如,您可以在购买后让应用程序将 IMEI 发送到购买服务器,该服务器将生成应用程序将保存的代码。然后所有应用程序将检查它以启用/禁用广告。(尝试使用一些散列算法等来制作代码)

请记住,所有系统都可以被破解,所以不要尝试太复杂的东西,这会让真正的用户头疼。

于 2009-12-21T08:25:51.733 回答