use*_*946 2 iphone xcode in-app-purchase ipad ios
我正在试图找出当用户试图购买某些内容时,我会如何收听"确认"警告中显示的"取消"按钮.你知道,苹果公司做的官方版本看起来像是:"确认你的应用内购买.你想以价格购买一个$产品吗?[取消] [购买]"
如果我正确理解我的代码,则通过以下方式启动警报:
SKPayment *payment = [SKPayment paymentWithProductIdentifier:productIdentifier];
[[SKPaymentQueue defaultQueue] addPayment:payment];
Run Code Online (Sandbox Code Playgroud)
所以基本上我想做点什么,如果他们点击取消.谢谢
paymentQueue:updatedTransactions:从SKPaymentTransactionObserver协议实现该方法.在那里,你可以检查transactionState和error每一个transaction对象.
我用过这样的东西:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
if (transaction.error.code == SKErrorPaymentCancelled) {
/// user has cancelled
[self finishTransaction:transaction wasSuccessful:NO];
}
else if (transaction.error.code == SKErrorPaymentNotAllowed) {
// payment not allowed
[self finishTransaction:transaction wasSuccessful:NO];
}
else {
// real error
[self finishTransaction:transaction wasSuccessful:NO];
// show error
}
break;
case SKPaymentTransactionStateRestored:
[self restoreTransaction:transaction];
break;
default:
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4222 次 |
| 最近记录: |