Android Google Billing In-app提供有关产品的所有信息(包括是否购买)
iOS iOS应用内购买(IAP)怎么样?
我不想在用户购买后将购买的物品保存在本地(iOS的UserDefaults)或保存到我自己的服务器上
Android使用Google Play服务AIDL获取已经购买的商品即使在离线模式下
出于Android的安全性考虑,我们可以验证用户是否真的购买了商品(未使用某些黑客应用免费获取商品)-https://developer.android.com/google/play/billing/billing_best_practices#validating-purchase-server
启用用户设备互联网后,我们可以对已经购买的商品进行此额外验证(尽管仅在购买商品时就足以检查它),如果禁用了互联网,我们可以暂时说用户购买了商品(但是如果尚未购买,则仍然需要互联网,在这种情况下,我们仍将在服务器上对其进行验证)
那么iOS如何工作?它是否有一些iTunes Services(我不知道)来获取特定应用的IAP信息?
答案 0 :(得分:0)
是的,在iOS上,您应该使用StoreKit获取有关该应用程序可用的所有应用程序内购买的详细信息。
在App Store Connect中设置应用内购买后,您将获得购买ID。
要检索有关它们的信息,您应该使用购买ID发出SKProductRequest。这将返回所需的信息。
import StoreKit
class YourPurchaseManagerClass: NSObject {
var productsRequest: SKProductsRequest?
var products: [SKProduct]?
func validateProductIdentifiers(productIdentifiers: Set<String>) {
// Create and start the
productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers)
productsRequest?.delegate = self
productsRequest?.start()
}
}
extension YourPurchaseManagerClass: SKProductsRequestDelegate {
func productsRequest(_ request: SKProductsRequest,
didReceive response: SKProductsResponse) {
// Store the products data. This will contain the information about the purchases
products = response.products;
for invalidIdentifier in response.invalidProductIdentifiers {
// Handle any invalid product identifiers.
}
}
}
Here是一个专门讨论如何检索应用内购买信息并包含示例代码的链接。
Here是指向有关整个应用内购买设置过程的Apple文档的链接
答案 1 :(得分:0)
答案是检查应用程序的收据-您应该通过自己的服务器将收据发送给Apple以进行验证,但是您也可以在本地解析StoreKit收据。在这里您可以找到之前购买的商品。