खोज…


स्विफ्ट 2 में सिंगल आईएपी

आईट्यून्सकनेक्ट में IAP बनाने के बाद:

उस व्यू कंट्रोलर में जिसे आप खरीदना चाहते हैं

import StoreKit

और संबंधित प्रतिनिधियों को जोड़ें

class ViewController: UIViewController, SKProductsRequestDelegate, SKPaymentTransactionObserver {

iTunesConnect से उत्पाद आईडी के साथ एक चर घोषित करें

var product_id: NSString?

override func viewDidLoad() {
    
    
    product_id = "YOUR_PRODUCT_ID"
    super.viewDidLoad()
    SKPaymentQueue.defaultQueue().addTransactionObserver(self)

   //Check if product is purchased
   if (NSUserDefaults.standardUserDefaults().boolForKey("purchased")){
   
       // Hide ads
       adView.hidden = true
        
   } else {
       print("Should show ads...")
        
   }

}

IAP को खरीदने के लिए एक फ़ंक्शन के लिए एक बटन तार

@IBAction func unlockAction(sender: AnyObject) {
    
   print("About to fetch the product...")

// Can make payments
if (SKPaymentQueue.canMakePayments())
    {
        let productID:NSSet = NSSet(object: self.product_id!);
        let productsRequest:SKProductsRequest = SKProductsRequest(productIdentifiers: productID as! Set<NSString>);
        productsRequest.delegate = self;
        productsRequest.start();
        println("Fetching Products");
    }else{
        print("Can't make purchases");
    }

}

और यहाँ कुछ सहायक विधियाँ हैं

func buyProduct(product: SKProduct){
    println("Sending the Payment Request to Apple");
    let payment = SKPayment(product: product)
    SKPaymentQueue.defaultQueue().addPayment(payment);
    
 }

प्रतिनिधि विधियाँ जो घोषित की जानी चाहिए

func productsRequest (request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {

    let count : Int = response.products.count
    if (count>0) {
        var validProduct: SKProduct = response.products[0] as SKProduct
        if (validProduct.productIdentifier == self.product_id) {
            print(validProduct.localizedTitle)
            print(validProduct.localizedDescription)
            print(validProduct.price)
            buyProduct(validProduct);
        } else {
            print(validProduct.productIdentifier)
        }
    } else {
        print("nothing")
    }
}


func request(request: SKRequest!, didFailWithError error: NSError!) {
    print("Error Fetching product information");
}

    func paymentQueue(_ queue: SKPaymentQueue,
updatedTransactions transactions: [SKPaymentTransaction])

{
    print("Received Payment Transaction Response from Apple");
    
    for transaction:AnyObject in transactions {
        if let trans:SKPaymentTransaction = transaction as? SKPaymentTransaction{
            switch trans.transactionState {
            case .Purchased:
                print("Product Purchased");
                SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)
                // Handle the purchase
                NSUserDefaults.standardUserDefaults().setBool(true , forKey: "purchased")
                adView.hidden = true
                break;
            case .Failed:
                print("Purchased Failed");
                SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)
                break;
                
        

            case .Restored:
                print("Already Purchased");
               SKPaymentQueue.defaultQueue().restoreCompletedTransactions() 


                 // Handle the purchase
                    NSUserDefaults.standardUserDefaults().setBool(true , forKey: "purchased")
                    adView.hidden = true
                    break;
            default:
                break;
            }
        }
    }
    
}

और फिर एप्लिकेशन खरीद में गैर-उपभोज्य को पुनर्स्थापित करने के लिए कोड

if (SKPaymentQueue.canMakePayments()) {
  SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
}

ITunesConnect में सेट अप करें

ITunesConnect में , उस ऐप का चयन करें जिसे आप IAP को जोड़ना चाहते हैं।

सुविधाओं पर क्लिक करें और आप इसे देखेंगे:

यहाँ छवि विवरण दर्ज करें

प्लस पर क्लिक करें। फिर आपको चयन करना होगा कि आप किस प्रकार का IAP बनाना चाहते हैं।

फिर आपको अपने IAP के लिए सारी जानकारी भरनी होगी।

यहाँ छवि विवरण दर्ज करें

यदि आपको कोई परेशानी है तो आप IAP सेट अप गाइड से परामर्श कर सकते हैं।

किसी IAP के लिए उपयोगकर्ता को खरीदने / सदस्यता लेने के लिए सबसे बुनियादी कदम

मान लें कि आप productID जानते हैं:

प्रथम

import StoreKit

फिर अपने कोड में

let productID: Set = ["premium"]
let request = SKProductsRequest(productIdentifiers: productID)
request.delegate = self
request.start()

और SKProductsRequestDelegate :

func productsRequest(request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {
    if response.products.count > 0 {
        let product = response.products[0]
        let payment = SKPayment(product: product)
        SKPaymentQueue.defaultQueue().addPayment(payment)
    }
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow