如何在 Apple Connect 中获取 ProductID?(在 App 购买中)
How can fetch ProductIDs in Apple Connect?(In App Purchase)
我正在尝试获取 ProductID。但响应始终为空。
我想展示我所做的。
- 我在开发者账户中创建 App ID。BundleID equal to AppID
- 我已经安装了 App Connect 项目。选择了我的项目 BundleID
- Created ProductID's
- 在 Xcode
中打开 In App Purchase
- 我的代码:
Created ProductID's:
`enum IAPProduct: String {
case Consumble = "com.xxxx.xxx.Consumable"
case nonConsumble = "com.xxxx.xxx.TekSeferAl"
}`
My fetch code:
class IAPService: NSObject {
static let shared = IAPService()
private override init() {}
//MARK:- Properties
//MARK:- Private
func getProducts() {
SKPaymentQueue.canMakePayments()
let products: Set = [IAPProduct.Consumble.rawValue,
IAPProduct.nonConsumble.rawValue]
let request = SKProductsRequest(productIdentifiers: products)
request.cancel()
request.delegate = self
request.start()
}
}
Delegate:
extension IAPService: SKProductsRequestDelegate {
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
response.invalidProductIdentifiers.forEach { product in
print("Invalid: \(product)")
}
response.products.forEach { product in
print("Valid: \(product)")
}
func request(_ request: SKRequest, didFailWithError error: Error) {
print("Error for request: \(error.localizedDescription)")
}
}
}
Output
我哪里出错了?
问题是您的产品在 App Store Connect 中似乎处于 "Missing Metadata" 状态 - 它们需要处于 "Ready to Submit" 状态才能进行测试。
您可能是:
- 缺少一张照片(您可以使用空白图像进行测试)
- 尚未与Apple签署付费应用程序协议
这是一篇很好的博客 post,其中更详细地介绍了如何设置产品:Configuring In-app Products is Hard
我正在尝试获取 ProductID。但响应始终为空。 我想展示我所做的。
- 我在开发者账户中创建 App ID。BundleID equal to AppID
- 我已经安装了 App Connect 项目。选择了我的项目 BundleID
- Created ProductID's
- 在 Xcode 中打开 In App Purchase
- 我的代码:
Created ProductID's:
`enum IAPProduct: String {
case Consumble = "com.xxxx.xxx.Consumable"
case nonConsumble = "com.xxxx.xxx.TekSeferAl"
}`
My fetch code:
class IAPService: NSObject {
static let shared = IAPService()
private override init() {}
//MARK:- Properties
//MARK:- Private
func getProducts() {
SKPaymentQueue.canMakePayments()
let products: Set = [IAPProduct.Consumble.rawValue,
IAPProduct.nonConsumble.rawValue]
let request = SKProductsRequest(productIdentifiers: products)
request.cancel()
request.delegate = self
request.start()
}
}
Delegate:
extension IAPService: SKProductsRequestDelegate {
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
response.invalidProductIdentifiers.forEach { product in
print("Invalid: \(product)")
}
response.products.forEach { product in
print("Valid: \(product)")
}
func request(_ request: SKRequest, didFailWithError error: Error) {
print("Error for request: \(error.localizedDescription)")
}
}
}
Output
我哪里出错了?
问题是您的产品在 App Store Connect 中似乎处于 "Missing Metadata" 状态 - 它们需要处于 "Ready to Submit" 状态才能进行测试。
您可能是:
- 缺少一张照片(您可以使用空白图像进行测试)
- 尚未与Apple签署付费应用程序协议
这是一篇很好的博客 post,其中更详细地介绍了如何设置产品:Configuring In-app Products is Hard