Ich habe eine einfache App mit einer nicht konsumierbaren In-App-Kaufoption.Wie kann überprüft werden, ob der Nutzer bereits einen In-App-Kauf getätigt hat? So ermitteln Sie ihre Zugriffsebene/Rechte
Von meiner ersten Ansicht Controller habe ich eine einzige "Enter" -Taste.
Diese Schaltfläche sendet einen 'freien' Benutzer (hat keinen nicht konsumierbaren Kauf getätigt) an einen TabBarController "A" und eine Reihe von Ansichten und einen 'bezahlten' Benutzer an den anderen TabBarController "B" einen anderen Satz Ansichten . Diese Ansichten werden sich niemals überschneiden.
Ich möchte überprüfen, ob mein Code in der Lage ist, effektiv zu unterscheiden, ob ein Benutzer den In-App-Kauf oder sonst gemacht hat.
Hier ist mein Code:
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)
}
}
}
Vielen Dank im Voraus für alle Antworten, Kommentare oder Gedanken :-)
Tolles Tutorial - könnte nicht für eine weitere aktuelle fragen! Ein Tag alt, glaube ich! Ich kann meinen gesamten Code entsprechend diesem Inhalt ändern. Nur eine Randbemerkung zu Ihrem zweiten Absatz - wenn ich nur einen Nicht-Verbrauchsartikel jemals haben möchte, könnte ich mich nicht einfach an meinen obigen Code halten? Für eine One-IAP-Produkt-App ist es in Ordnung, wie es ist? Kann meine App feststellen, ob das Produkt gekauft wurde, wenn der Benutzer keine Internetverbindung hat? Ich glaube es wird? –