如何分配skpayment applicationusername

时间:2016-05-13 06:00:20

标签: ios objective-c in-app-purchase skpaymenttransaction

我们可以分配skpayment applicationusername吗?

在应用购买完成后,我获得了空applicationUsername in the SKPayment。

如何为SKPayment applicationUsername分配值?

3 个答案:

答案 0 :(得分:2)

您无法为SKPayment的属性分配值;当您创建SKMutablePayment实例以提交购买请求时,您的应用可以提供代表应用用户ID的不透明值。这使iTunes商店能够检测到不规则的活动。您分配的值将出现在您在事务队列中收到的SKPayment中。

尽管名称如此,applicationUsername属性并不意味着保存实际的用户名。

建议的方法显示在In-App Purchasing Programming Guide

答案 1 :(得分:0)

您可以像这样分配它:

O(sqrt(n))

并且可以再次获得它

   // MARK: purchase SKProduct from store
    @objc func buy(product: SKProduct, withHandler handler: @escaping ((_ success : Bool , _ error :RiscoIAPManagerError? ) -> Void)) {
        let payment = SKMutablePayment(product: product)
        
        payment.applicationUsername = "applicationUsername"
        SKPaymentQueue.default().add(payment)
        // Keep the completion handler.
        productBuyComplition = handler
    }

答案 2 :(得分:-2)

您不能指定只读属性。 iOS提供的已完成事务的对象是不可变的。说实话,Apple的API无法正确通知客户端应用程序有关已处理的事务。