我的意思是,我的步骤应该如何?我应该何时验证应用内购买交易收据?
1)获取
SKPaymentTransactionStatePurchased
2)由
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
3)验证从SKPaymentQueue删除它,并提供所述内容的接收和然后,如果它是无效的,块我刚刚提供的内容
或者我应该改变第二步而不是第三步?
1)获取
SKPaymentTransactionStatePurchased
2)确认收货,然后,如果它是无效的,dont't提供内容
3)从
SKPaymentQueue
删除也无妨[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
在第一种情况下,用户可以在购买后立即关闭互联网,所以我将无法验证收据。但是第二步,在步骤1和步骤2之间可能会出现一些互联网问题,所以我不会完成交易并且不会提供内容,这将是一种糟糕的用户体验。
那么你选择什么方式为你的应用程序,为什么?
我的选择
我选择了第二个方案,因为选择第一个让我的应用程序很容易被IAP饼干破解。
我对这个答案也很有兴趣。我目前正在做你的第一个方法,因为它是一个更好的用户体验,它仍然很难滥用(我一直试图验证收据在后台) – 2012-04-22 16:40:06
我也决定选择一个为我的应用程序 – 2012-04-22 16:53:39
你确定是否从应用程序代码中下载内容(有效收据)或不收据(无效收据)?如果是这样,只需要将'if(valid)'改为'if(1)'。看到我的答案。 – 2012-07-15 10:48:57