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

有帮助吗?

解决方案

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

编辑以添加:

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

我通常不相信在反盗版的东西上花费太多努力,但这是一种覆盖自己的简单方法,比使用NsuserDefaults的成本要高得多。

其他提示

另一种方法是记录购买或还原时收到的SkpaymentTransaction收据。在随后的启动时,您可以在后台使用App Store验证该收据,如有必要,可重新启用下一次启动的广告。

验证商店收据文档

尽管我认为这不会保护您免受其他地方的有效用户收据的粘贴,但比在NsuserDefaults中切换布尔值更难规避。无论如何,任何人都要付出这一长度的人不太可能为您的应用付费。

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

请记住,所有系统都可以破解,因此不要尝试过太复杂的东西,以使您的真实用户头痛。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top