2

我有一个在应用购买中实现的 iOS 应用。但是,我有一个用例,用户需要重新下载以前购买的单个应用内购买的内容。

我不能使用 restoreCompletedTransactions 因为它会恢复所有事务。在这种情况下,我只想根据产品标识符重新下载单个交易内容,而不会让用户再次经历“创伤性”购买,并且不会向您收费。

有人知道该怎么做吗?

4

1 回答 1

0

我不确定您是否可以在不提示用户输入密码的情况下启动还原,但您可以选择要下载的一个产品:

- (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];
                }
            }
        }
    }
}
于 2019-05-21T13:52:22.463 回答