tableView中针对不同产品的多个INApp购买请求

时间:2019-04-12 09:12:01

标签: swift iphone in-app-purchase

multiple in app purchase我正在使用音乐播放器应用程序,用户在开始收听专辑之前需要购买专辑,我还附上了一个示例购买屏幕。当用户点击它时,它应该移动到inApp购买中。购买类型是非消耗性的,他们只需要支付一次即可。

我有一个带有专辑列表的表格视图,如果我购买了第一张索引专辑,那么当我移到第二张索引专辑时,它就可以像已经购买的一样正常工作。

我已使用SwiftyStoreKit吊舱进行了不适当的购买,并且一切正常。但是我不知道如何处理n个单元格的tableview。

   //INAPP purchase swift guy

func getinfo (purchase: RegisterPurchase) {
    NetworkActivityIndicatioManager.NetworkoperationStarted()
    SwiftyStoreKit.retrieveProductsInfo([bundleId + "." + purchase.rawValue]) { (result) in
        NetworkActivityIndicatioManager.NetworkOperationFinished()
        self.showAlert(self.alertForProductRetrievalInfo(result))
    }
}



func purchase(purchase: RegisterPurchase) {
    NetworkActivityIndicatioManager.NetworkoperationStarted()
    SwiftyStoreKit.purchaseProduct(bundleId + "." + purchase.rawValue, atomically: true) { result in
        NetworkActivityIndicatioManager.NetworkOperationFinished()

        if case .success(let purchase) = result {
            let downloads = purchase.transaction.downloads
            if !downloads.isEmpty {
                SwiftyStoreKit.start(downloads)
            }
            // Deliver content from server, then:
            if purchase.needsFinishTransaction {
                SwiftyStoreKit.finishTransaction(purchase.transaction)
            }
        }

        if let alert = self.alertForPurchaseResult(result) {
            self.showAlert(alert)
        }
    }
}

1 个答案:

答案 0 :(得分:0)

问题与您的产品类型有关。如果您想再次购买产品,则应使用消耗品购买,而不是非消耗品。

  

非消耗性产品只能为iTunes购买一次   帐户。

根据您的情况,您可以将产品类型更改为易耗品,然后将此购买的商品保存在服务器中并与用户链接。这样,如果用户以前购买过,就可以解锁相册。