我有一个在应用购买中实现的 iOS 应用。但是,我有一个用例,用户需要重新下载以前购买的单个应用内购买的内容。
我不能使用 restoreCompletedTransactions 因为它会恢复所有事务。在这种情况下,我只想根据产品标识符重新下载单个交易内容,而不会让用户再次经历“创伤性”购买,并且不会向您收费。
有人知道该怎么做吗?
我有一个在应用购买中实现的 iOS 应用。但是,我有一个用例,用户需要重新下载以前购买的单个应用内购买的内容。
我不能使用 restoreCompletedTransactions 因为它会恢复所有事务。在这种情况下,我只想根据产品标识符重新下载单个交易内容,而不会让用户再次经历“创伤性”购买,并且不会向您收费。
有人知道该怎么做吗?
我不确定您是否可以在不提示用户输入密码的情况下启动还原,但您可以选择要下载的一个产品:
- (void)paymentQueue:(nonnull SKPaymentQueue *)queue updatedTransactions:(nonnull NSArray<SKPaymentTransaction *> *)transactions {
for(SKPaymentTransaction *transaction in transactions){
switch(transaction.transactionState){
case SKPaymentTransactionStateRestored:
{
if ([transaction.payment.productIdentifier isEqualToString:MY_PRODUCT_ID])
{
[queue startDownloads:transaction.downloads];
}
}
}
}
}