在我的iOS应用中实施哪种应用内购买类型?

时间:2014-06-25 06:17:27

标签: ios objective-c in-app-purchase

我的应用程序免费使用六个月。在第六个月结束后,我需要实现应用内升级应用程序。  让我们想象一下情况,如果用户没有选择inapp购买并删除应用程序,则在第六个月结束后。现在他们再次从appstore安装它。所以如何找到特定用户再次安装我的应用程序。

我已阅读应用内商店类型。它对我来说有点困惑。我已经实现了非cpnsumable类型,所以它基本上只购买一次产品并长时间使用它。我的情况也类似,但用户不应该使用我的应用程序超过最初的第六个月免费。

3 个答案:

答案 0 :(得分:0)

您可以使用钥匙串存储首次发布日期。每次应用午餐时,只需检查存储日期和当前日期之间的差异。如果超过6个月,则允许用户购买。 即使应用程序是unInstall,Keychain也不会删除数据。它还会在卸载应用程序后保留存储的数据。再次,如果您将安装并运行该应用程序,它将提供旧的商店数据。

答案 1 :(得分:0)

您必须在后台流程中继续检查应用安装的当前日期,并在达到6个月后验证应用内购买流程。我附上了一段代码供您参考

-(void)dateCheck 

{

NSDate *current = [NSDate date];

NSDateFormatter *weekFormatter = [[NSDateFormatter alloc] init];

[weekFormatter setDateFormat:@"dd-MM-yyyy"];

NSDate *expirDate=[current dateByAddingTimeInterval:60*60*24*14];

NSString *expireString = [weekFormatter stringFromDate:expirDate];


[[NSUserDefaults standardUserDefaults]setValue:expirDate forKeyPath:@"expireDate"];

[[NSUserDefaults standardUserDefaults]synchronize];

}

答案 2 :(得分:0)

您可以使用设备UDID或设备令牌来识别设备。具有UDID的设备将不允许超过六个月。 我们也可以使用帐户登录相同。使用新用户标识新登录。通过考虑这两件事,我们可以进行识别。