[英]in App Purchases iOS
我通过本教程制作了使用IAP的第一个应用程序
我为InAppPurchaseManager创建了一个单例,添加了3个以上的购买,购买方法,并且所有方法都很好用。 问题是我的应用程序是一个画廊,用户可以免费使用9个物品,之后再支付18个物品。 如何在显示系统UIAletrView
时准确地检查ViewController
是否成功购买? 或者,也许我可以在ViewController
检索此警报?
对于画廊,我正在使用UICollectionView
,如果购买完成,我需要重新加载它
您可以使用此委托方法检查事务的状态。
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions)
{
NSLog(@"%i",[transaction transactionState]);
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
// [self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
// [self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
// [self restoreTransaction:transaction];
case SKPaymentTransactionStatePurchasing: {
// if([self.delegate respondsToSelector:@selector(inProcessPurchasingTransaction)])
// [self.delegate inProcessPurchasingTransaction];
}
default:
break;
}
}
}
当事务成功时,以下委托方法将触发:
- (void) completeTransaction: (SKPaymentTransaction *)transaction
并且在失败的情况下:
- (void) failedTransaction:(SKPaymentTransaction *)transaction
并且出于测试目的,您需要创建测试用户帐户。 对应用程序进行编程后,您可能需要测试该应用程序。 您可以使用这些帐户登录App Store。 购买交易将被视为真实交易,但不会进行任何财务交易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.