gpt4 book ai didi

ios - 如何查看用户是否已经进行了应用内购买?确定他们的访问级别/权限

转载 作者:搜寻专家 更新时间:2023-10-30 23:09:45 25 4
gpt4 key购买 nike

我有一个简单的应用,有一个非消耗性的应用内购买选项。

在我的初始 View Controller 中,我有一个“输入”按钮。

此按钮会将“免费”用户(未进行非消费品购买)发送到一个 TabBarController“A”和一系列 View ,并将“付费”用户发送到另一个 TabBarController“B”一组不同的 View 。这些 View 永远不会相交。

我想检查我的代码是否能够有效区分用户是否进行了应用内购买。

这是我的代码:

import UIKit
import StoreKit

class MainMainViewController: UIViewController, UIScrollViewDelegate, SKProductsRequestDelegate, SKPaymentTransactionObserver {

let defaults = NSUserDefaults.standardUserDefaults()
var product_id: NSString?;

...

override func viewDidLoad() {

product_id = "some.iap.id";
SKPaymentQueue.defaultQueue().addTransactionObserver(self)


super.viewDidLoad()
}

@IBAction func Enter(sender: AnyObject) {

//Check if product is purchased
if (defaults.boolForKey("purchased")){
print("User has purchased da goods!")

// Grant or otherwise full access based on whether user has purchased/not purchased.

// Goto TabBarController A - FULL Access:
let vc = self.storyboard!.instantiateViewControllerWithIdentifier("TabBarControllerPaid") as! TabBarControllerPaid
self.presentViewController(vc, animated: true, completion: nil)
}

else if (!defaults.boolForKey("purchased")){
print("user has NOT purchased yet")

// Goto TabBarController B - PARTIAL Access:
let vc = self.storyboard!.instantiateViewControllerWithIdentifier("TabBarControllerFree") as! TabBarControllerFree
self.presentViewController(vc, animated: true, completion: nil)
}


}

}

非常感谢任何答案、评论或想法:-)

最佳答案

Take a look at this tutorial ,在“购买的元素”部分下。

它展示了如何跟踪已购买的商品(是的,如果您密切关注本教程,您将使用 NSUserDefaults),您还将学习如何恢复以前的购买如果应用程序被删除或移动到用户的新设备。

在上面的代码中,我看到“defaults.boolForKey("purchased")”。我可以看到这段代码的大问题是它只允许购买一件商品(NSUserDefaults 中存在或不存在“已购买” bool 值)。

关于ios - 如何查看用户是否已经进行了应用内购买?确定他们的访问级别/权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36322892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com