我的意思是,我的步驟應該如何?我應該何時驗證應用內購買交易收據?
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