我目前在商店中有一个付费应用程序。 Apple 也不允许提交“精简版”,所以我别无选择,只能将当前的付费版本更新为免费增值(应用内购买)模式。对于第一次购买该应用程序的 v1 用户,我遇到了不丢失功能的问题。
有什么方法可以确定应用程序是否已从以前安装的版本更新,以便我可以解锁应用程序的付费部分?
两个类似的问题(来自几个月前):
Transition an existing paid for app to free version with In App Purchase
最佳答案
现在有一种 Apple 批准的方法可以在 iOS 和 macOS 上执行此操作。可以使用信息 key Original Purchased Version
从收据中获取应用程序的原始下载版本。然后,如果该版本早于切换到 IAP,您可以决定是否解锁功能。
例如,一旦您检索到收据信息:
NSArray *versionsSoldWithoutIAP = @[@"1.0", @"1.1", @"1.2", @"1.3"];
NSString *originalPurchasedVersion = [receiptInfoDict objectForKey:@"Original Purchased Version"];
for (NSString *version in versionsSoldWithoutIAP) {
if ([version isEqualToString:originalPurchasedVersion]) {
// user paid for the currently installed version
}
}
有关详细信息,请参阅 WWDC 13 视频 Using Receipts to Protect Your Digital Sales . 5 点 40 分,主持人评论说:“我认为今年收据中最令人兴奋的事情,特别是对于你们这些在商店中有付费应用程序的人来说,是我们在收据中包含的信息可以让你通过应用内购买从付费应用过渡到免费应用,同时不遗漏所有已经为您的应用付费的客户。”
关于ios - 通过应用内购买将现有的 iOS 付费应用转换为免费增值模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3735635/