1

有没有办法(在代码中)可以根据购买时间为应用提供不同的功能?

我有些人以不同的价格购买了我的应用程序,有些人在促销期间免费获得了它。很高兴在我的应用程序中为那些付费的人提供一个额外的功能。

这无论如何可能吗?

4

3 回答 3

1

如果没有事先准备好,您将永远不会知道过去,但没有什么可以阻止您将用户首次打开您的应用程序的时间戳放入例如用户设置中。就像是

[[NSUserDefaults standardUserDefaults] 
    setObject:[NSDate date] 
       forKey:@"install_date"];

然后您可以使用它来决定如何“对待”(我猜)用户。一个问题是,如果用户删除了应用程序然后重新安装它,他们的早期采用者奖金或任何东西都将丢失。您唯一的其他选择是将设备 ID 发送到某处的专用服务器,例如带有简单 MySQL 数据库的 PHP 脚本,其中设备 ID 与日期一起存储。然后你可以做类似的事情

NSDate *purchaseDate = [[NSUserDefaults standardUserDefaults] 
    objectForKey:@"purchase_date"];
if (nil == purchaseDate) {
    // we need to get the date for this user from the server, or
    // we need to register the user as it's the first time
} else {
    // we know when this user installed the app, and they did so 
    // (approximately) at the purchaseDate time.
}

撇开日期格式问题不谈,上面的内容应该很简单,但如前所述,确实需要一个服务器(这可能会很慢,因为上面的内容只发生在第一次安装和重新安装时)。

编辑:您可以使用[[UIDevice currentDevice] uniqueIdentifier](从 iOS 5 开始不推荐使用)或[[UIDevice currentDevice] identifierForVendor](从 iOS 6 开始新......大声笑)来获取设备 ID。

于 2012-12-27T13:31:29.810 回答
0

你必须通过代码来管理它,Apple 没有为此提供任何代码。但是,如果您需要对应用程序进行任何类型的分析。比如,用户使用了应用程序的哪个部分,哪个部分导致应用程序崩溃,您可以尝试使用Flurry Analytics的某种功能。

于 2012-12-27T08:50:05.563 回答
0

购买应用程序时,无法从您的应用程序中检测到。您可以添加对安装时间的检测,但这可能会在以后的任何时间发生,甚至多次发生。

于 2012-12-27T12:32:26.430 回答