7

我想知道用户第一次购买我的应用程序的时间......到目前为止,我还没有找到一个干净的方法,UDID 似乎是唯一的选择。

理想情况下,我可以通过 StoreKit 获得一张收据,但到目前为止...... nada

我错过了什么吗?有人有想法吗?


情况是我有一个订阅和第一个问题(从你购买应用程序开始应该是免费的)。如果我稍后重新安装..我应该总是得到原来的问题)

示例:我在 10.2010 年购买了该应用程序 我安装并运行它并从 10.2010 年免费获得订阅问题(没有应用程序内购买) 现在我删除我在 1.2013 年安装它的应用程序,我只从 10.2010 年免费获得订阅!不是新的

4

2 回答 2

7

您可以在钥匙串中存储一个标志。钥匙串的内容会在应用重新安装时保留。

要获取应用程序的首次安装时间,请检查应用程序二进制文件首次写入磁盘的时间:

if (flag_in_keychain_not_present()) {
    // installed for the first time
    set_flag_in_keychain();

    struct stat st;
    stat([NSBundle mainBundle].executablePath.UTF8String, &st);
    time_t installed = st.st_mtime;
}
于 2013-05-03T09:04:19.513 回答
1

我还没有使用 Store Kit,但如果我错了,请告诉我,

1)它需要一个服务器在某个点或另一个

2) 当我们用它来“购买”(不是订阅或消耗品)某些东西时,我们可以使用同一个 iTunes 帐户在所有设备上检索此购买

我的观点是,创建一个应用内购买免费项目,当它第一次通过您的服务器时将其存储在数据库中,下次使用同一帐户调用它时,“启用”与第一次免费购买相对应的问题

于 2013-05-03T09:08:01.620 回答