打击iOS应用内购买盗版的策略?

时间:2013-05-16 15:24:04

标签: iphone ios in-app-purchase piracy-prevention piracy

我的应用使用应用内购买,并且我使用Apple验证交易收据。这告诉我许多用户试图通过提交假交易收据来盗用应用程序内购买机制,这些交易收据的产品ID为com.zeptolab.ctrbonus.superpower1(来自“Cut the Rope”)。当然,我不允许他们使用带有假收据的应用内购买物品。有哪些策略可以解决iOS盗版并试图让这些人付钱或受苦?

1 个答案:

答案 0 :(得分:5)

真正防止这种情况的唯一方法是通过您自己的服务器控制所有内容。即使是臭名昭着的“com.zeptolab.ctrbonus.superpower1”收据也是Apple自己的验证终端会告诉您的实际有效收据。交易完成后,应用程序应将交易数据发送到您控制的服务器,并且:

    来自您自己服务器的
  1. Validate the receipt with Apple
  2. 如果Apple说没问题,请解析Apple的回复中的product_id字段,并确保它是您应用中的产品ID。
  3. 如果前两个项目通过,请返回数据以告知您的应用下载内容的位置(如果是托管内容)。
  4. 即使这有一个缺陷,特别是如果你的IAP内容只是在设备上但是“锁定”了。有一些方法可以从服务器重定向验证调用,使您的应用程序认为您的服务器说“一切正常!”。如果您的IAP内容是远程托管的,那么这将更加困难,因为如果他们不知道内容的位置,他们就不能轻易地通过内容的位置欺骗响应。

    对于大多数人来说,所有这一切的问题在于控制自己的服务器和远程内容会变得昂贵,更不用说编写自己的验证逻辑了。你让这些黑客成功的难度越大,它就越能让你付出代价,所以你必须权衡你想让他们“痛苦”多少,你愿意花多少时间,精力和金钱与你制造和/或失去的数量相比。请记住,一个“盗版”的IAP并不一定等于一个丢失的销售,因此很难判断出您可能从中丢失多少。