Как я могу добавить второй не расходный материал при покупке приложения в ReactJS? - PullRequest
0 голосов
/ 01 марта 2020

* Я нашел очень полезную ссылку переполнения стека в покупках приложений ( Swift IOS 9 - осуществить покупку в приложении самым простым способом ). Это прекрасно работает. По моей проблеме не могу понять, как добавить в нее второй товар. Где вы покупаете либо. В настоящее время я могу только выяснить, можно ли купить продукт в приложении. Я безуспешно пробовал разные учебники по сервалу.

strong textvar product_id: String?
@IBOutlet weak var adView: UIView!

override func viewDidLoad() {
    super.viewDidLoad()

    product_id = "com.halfmoon.removeads.com"

    SKPaymentQueue.default().add(self)

    //Check if product is purchased
    if (UserDefaults.standard.bool(forKey: "purchased")){
        adView.isHidden = true

    } else {
        print("Should show ads...")
    }

}


@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<String>);
                productsRequest.delegate = self;
                productsRequest.start();
                print("Fetching Products");
            }else{
                print("Can't make purchases");
            }

}



func buyProduct(product: SKProduct){
    print("Sending the Payment Request to Apple");
    let payment = SKPayment(product: product)
    SKPaymentQueue.default().add(payment);

}



func productsRequest (_ request: SKProductsRequest, didReceive response: SKProductsResponse) {

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


func request(_ request: SKRequest, didFailWithError error: Error) {
    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.default().finishTransaction(transaction as! SKPaymentTransaction)
                // Handle the purchase
                UserDefaults.standard.set(true , forKey: "purchased")
                adView.isHidden = true
                break;
            case .failed:
                print("Purchased Failed");
                SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction)
                break;



            case .restored:
                print("Already Purchased");
                SKPaymentQueue.default().restoreCompletedTransactions()


                // Handle the purchase
                UserDefaults.standard.set(true , forKey: "purchased")
                adView.isHidden = true
                break;
            default:
                break;
            }
        }
    }

}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...