0

我搜索了一个类似的问题,但没有找到,所以:

我在 iStore 上有一个旧的 iphone 付费应用程序(以及一个带有 iAds 横幅的免费/精简版),现在我想更新它,添加 iPad 版本和其他东西;

有了这个新版本,我想免费设置应用程序,将应用程序内购买添加到付费应用程序(并删除精简版),添加 iAd 横幅,直到用户购买应用程序内购买项目。

问题是,为旧应用付费并现在下载新版本的老用户会看到 iAd 横幅(当然我不希望这样)并且必须再次付费才能避免它。

有什么方法可以检查我的新版本应用程序的用户是否也是旧版本应用程序的老用户?

我发现的一个部分解决方案是检查旧应用程序保存在它的捆绑文档文件夹中的首选项文件,但这可以正常工作,以防用户在更新我的应用程序时在设备上安装了旧应用程序,而不是以防万一他从设备中删除(或安装到新设备)

其他解决方案可能是在 iStore 上保留 lite 版本并仅将 inApp 购买添加到该版本,并以当前价格让完整版本,但是这样做,用户支付 inApp 购买项目后的 lite 版本将变得完全相等到 piad 应用程序(Apple 可能会拒绝这个,我也不喜欢这个解决方案)

为此目的的任何想法,有没有我没见过的简单方法?

提前致谢

4

3 回答 3

1

无法确定用户是否为应用付费。我认为使用“捆绑文档文件夹”的解决方案并不好,因为一旦用户删除应用程序,他将无法再使用该应用程序的高级版本。

类似的问题:

通过应用内购买将现有的 iOS 付费应用转换为免费增值模式

使用应用内购买将现有的付费应用转换为免费版本

iPhone + 将应用商店中现有的付费应用程序升级为应用程序内购买的免费应用程序 + 已经购买付费应用程序的客户怎么办

于 2013-07-12T13:28:47.613 回答
1

您是否尝试过联系开发人员支持?https://developer.apple.com/support/

据我所知,您无法判断他们之前是否购买过该应用程序而不会侵犯他们的隐私。

于 2013-07-12T20:55:36.410 回答
1

我也有类似的问题,我想将付费应用程序切换为免费应用程序。确实没有办法可靠地检查过去哪个用户已经下载了您的应用程序。如果您添加 iAd 并且它们仅通过应用内购买禁用,那么这意味着它适用于所有人。

在写这篇文章时,我想到了一个技巧。假设您今天将带有 iAd 更改的应用提交到应用商店,并于 2013 年 7 月 20 日获得批准。您可以做的是在应用程序启动时进行宽限期代码检查,即

if (TodaysDate < 8/20/13)
{

  //Make your NSUserdefaults to true. As if the user had purchased your in-app purchase. So don't show them any ads.

}
else
{

 //Month has passed and hopefully most of your users who owned the app already had updated it by now

}

这样,您就为现有用户和任何新用户提供了一个月的时间(没有 iAd)。任何在 2013 年 8 月 20 日之后下载应用程序的用户都会看到您的 iAd,并且必须在应用内付费才能禁用它们。

根据我的经验,我发现始终建议让您当前的用户满意,否则他们会用负面评论轰炸您的应用评级。这将显示在您最新的应用程序更新下。

于 2013-07-12T13:27:40.103 回答