Ale*_*nga 7 xcode in-app-purchase ios
我正在我的应用程序中实施In App Purchases,我正在使用非消耗性产品.我在我的应用程序中有用户登录,并防止使用applicationUsername属性的不正常活动苹果sugest ,所以我可以发送用户的用户名付款.
一切正常,我可以设置payment.applicationUsername属性,我可以在SKPaymentTransactionStatePurchased状态购买完成后将其恢复.
问题是,当我尝试使用restoreCompletedTransactionsWithApplicationUsername:方法恢复我的事务时,applicationUsername属性返回NULL.
你能帮我吗?
Ale*_*nga 13
经过大量研究后我发现我们不能将applicationUsername用于此目的.
对于restoreCompletedTransaction,您可以使用 transaction.originalTransaction.transactionIdentifier属性(在新购买时它是等效的 - transaction.transactionIdentifier).
这是与恢复记录中找到的购买本身和iTunes帐户关联的唯一标识符.
1.如何使用它:
将服务器上的原始transactionIdentifier记录为与用户A的原始购买相关联.
2.检测不规则活动
如果其他用户尝试恢复其购买检查,以确保尚未在其他userName下使用transactionIdentifier.
如果您的所有用户都没有使用此transactionIdentifier,那么还原成功.如果已经从另一个用户使用了transactionIdentifier,那么解释用户无法进行还原的原因.
这基本上等同于使用'transaction.transactionIdentifier'作为'applicationUsername'.