首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查看用户是否已经进行了应用内购买?确定其访问级别/权限

如何查看用户是否已经进行了应用内购买?确定其访问级别/权限
EN

Stack Overflow用户
提问于 2016-03-31 10:05:30
回答 1查看 7.4K关注 0票数 11

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

在我最初的视图控制器中,我只有一个“回车”按钮。

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

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

下面是我的代码:

代码语言:javascript
复制
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)
   }


}

}

非常感谢您的回答,评论或想法:-)

EN

回答 1

Stack Overflow用户

发布于 2016-03-31 19:58:22

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

它展示了如何跟踪已购买的商品(是的,如果您仔细遵循本教程,您将使用NSUserDefaults ),您还将学习如何在应用程序被删除或移动到用户的新设备时恢复之前的购买。

在上面的代码中,我看到了"defaults.boolForKey("purchased")“。我能看到的这段代码的一个大问题是,它只允许购买一件商品( " purchased“布尔值要么存在于NSUserDefaults中,要么不存在)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36322892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档