1

我目前正在开发一个实施了应用内购买的 iOS 项目。当前的实现如下:

  • 用于应用内购买的产品 ID 和其他元数据托管在远程服务器上。
  • 应用程序从服务器请求此数据,然后使用来自服务器的产品 ID 执行 SKProductRequest。
  • 从 SKProductRequest 返回为有效的产品 ID 将显示给用户。

我想提交一个新的应用程序包,其中包含一些仅在新版本中有效且被旧版本忽略的额外应用内购买。

所以我的问题是,如果我提交一个新的应用程序包以及一些新的应用内购买,之前应用版本中的 SKProductRequest 是否会将新的应用内购买标识符返回为有效?

如果从新捆绑包中请求,我是否必须为服务器创建一种仅返回新应用内购买的方式?

4

2 回答 2

2

这个问题不应该出现。您请求产品列表并使用类似的东西提供标识符

 [[SKProductsRequest alloc] initWithProductIdentifiers: prodset];

然后设置委托并开始。在 prodset 中,您有一个感兴趣产品的标识符列表。您的旧应用程序版本既不应该也不应该提供不相关产品的标识符。如果您从其他来源(您的服务器)下载产品列表,那么它可以并且应该根据版本进行过滤。

于 2013-04-23T22:36:09.360 回答
1

我已经通过在我的产品元数据列表中包含一个最低版本号来解决这个问题。如果 IAP 最低版本晚于用户的版本,则弹出窗口建议用户升级,以便他们可以访问新功能。

于 2013-04-23T20:20:40.720 回答