我目前在商店中有付费应用。苹果也不允许提交“精简版”版本,因此我别无选择,只能将当前的付费版本更新为免费增值版(在应用内购买)。我有一个问题,即第一次购买该应用程序的v1用户不能失去其功能。

有什么方法可以确定某个应用程序是否已从以前安装的版本进行了更新,以便可以解锁该应用程序的付费部分吗?

两个类似的问题(几个月前):

Transition an existing paid for app to free version with In App Purchase

iPhone + upgrade existing paid application on app store to free application with In App purchase + what about the customers who have already purchased the paid application

最佳答案

现在,有一种Apple认可的方法可以在iOS和macOS上执行此操作。可以使用信息键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/

10-10 21:14
查看更多