通过 Swift 通过应用内购买获得捐赠
Getting Donations With In-App Purchases with Swift
我计划实施应用内购买以支持应用开发。我在 AppStore connect 中制作了一个消耗品 IAP,并且我使用了这个代码
@IBAction func supportDevelopmentButtonHasBeenTapped(_ sender: Any) {
if SKPaymentQueue.canMakePayments() {
let paymentReq = SKMutablePayment()
paymentReq.productIdentifier = productID
SKPaymentQueue.default().add(paymentReq)
} else {
print("user cannot make payment")
}
}
和这个函数:
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
if transaction.transactionState == .purchased {
let thanksAlert = UIAlertController(title: "Thanks!", message: "Thanks For Your Support", preferredStyle: UIAlertController.Style.alert)
thanksAlert(UIAlertAction(title: "Back", style: UIAlertAction.Style.default, handler: nil))
self.present(thanksAlert, animated: true, completion: nil)
return
} else if transaction.transactionState == .failed {
print("")
}
}
}
我的问题是用户不能购买超过一次,我怎样才能让用户想怎么支持就怎么支持?
我想你需要打电话给“transaction.transactionState == .purchased”
SKPaymentQueue.default().finishTransaction(transaction)
我计划实施应用内购买以支持应用开发。我在 AppStore connect 中制作了一个消耗品 IAP,并且我使用了这个代码
@IBAction func supportDevelopmentButtonHasBeenTapped(_ sender: Any) {
if SKPaymentQueue.canMakePayments() {
let paymentReq = SKMutablePayment()
paymentReq.productIdentifier = productID
SKPaymentQueue.default().add(paymentReq)
} else {
print("user cannot make payment")
}
}
和这个函数:
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
if transaction.transactionState == .purchased {
let thanksAlert = UIAlertController(title: "Thanks!", message: "Thanks For Your Support", preferredStyle: UIAlertController.Style.alert)
thanksAlert(UIAlertAction(title: "Back", style: UIAlertAction.Style.default, handler: nil))
self.present(thanksAlert, animated: true, completion: nil)
return
} else if transaction.transactionState == .failed {
print("")
}
}
}
我的问题是用户不能购买超过一次,我怎样才能让用户想怎么支持就怎么支持?
我想你需要打电话给“transaction.transactionState == .purchased”
SKPaymentQueue.default().finishTransaction(transaction)