Android谷歌收费应用程序提供了所有关于产品的信息(包括购买与否)。
那iOS在应用程序中的购买呢?
我不想在用户购买后将购买的物品保存在本地(UserDefaults for iOS)或我自己的服务器上
Android使用Google服务,AIDL在离线模式下获得已经购买的物品
为了在Android中安全起见,我们可以验证用户是否真的购买了物品(并且没有使用一些hack应用程序免费获得)- 实践#验证-购买-服务器
当用户的设备internet启用时,我们可以对已经购买的项目进行额外的验证(尽管只在购买项目时才检查它就足够了),如果网络被禁用,我们可以临时说用户购买了它(但是如果他还没有购买它,那么无论如何互联网是必需的,我们将在我们的服务器上验证它,在这种情况下)
那么iOS是如何工作的呢?它有一些,我不知道,iTunes服务来获取特定应用的IAP信息吗?
发布于 2020-07-11 19:56:30
答案是检查应用程序的收据--您应该通过自己的服务器将收据发送到苹果以进行验证,但也可以在本地解析StoreKit收据。在那里你可以找到以前的购买。
发布于 2018-08-29 12:22:05
是的,在iOS上,您应该使用StoreKit获取该应用程序可用的所有应用程序内采购的详细信息。
一旦您在App连接中设置了应用程序内采购,您将拥有购买in。
要检索关于它们的信息,您应该使用购买ids创建一个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.
}
}
}这里是一个链接,专门讨论如何检索应用程序内的采购信息,并包含示例代码。
这里是一个指向Apple文档的链接,该文档介绍了整个应用程序内购买设置过程。
https://stackoverflow.com/questions/52075690
复制相似问题