通过应用内购买合并付费应用和免费应用

时间:2014-04-22 12:35:51

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

我在appstore上有2个应用程序

  1. 免费应用内购买。

  2. 付费应用

  3. 现在,我想在appstore上只保留一个应用程序来自上面的选项1.免费应用程序在应用程序购买并删除付费应用程序。但在这里,我想为使用付费应用(购买付费应用)的用户提供完整功能的应用。

    在这里,我的问题是如何将这2个应用程序合并到单个应用程序中,该应用程序将是免费的,并且通过保持付费应用程序用户不变来包含在应用内购买?

    如果有人对此有任何疑问,请分享。

    提前致谢。

4 个答案:

答案 0 :(得分:2)

我使用icloud解决了我的问题。首先,我通过执行以下更改为应用程序提供了更新。

我使用了“key value store”icloud选项并在icloud上存储了一些设置只需要确保这里的“iCloud Key-Value Store”值在.entitlements文件中(由XCode自动创建)在两个应用程序中都是一样的对于这两个应用程序。存储在此处的设置可供应用程序访问,并且根据我识别用户的设置并允许访问特定功能。

答案 1 :(得分:0)

在iOS7下,您可以使用收据验证。通过收据验证,您可以查看有关购买应用和应用内购买的信息。如果它在您释放应用之前返回日期,则表示用户已为该应用付费。

这只适用于iOS7。

请参阅Receipt Validation Programming Guide

答案 2 :(得分:0)

我也有几个应用程序面临这个问题。我仍在寻找一个好的解决方案,但在此期间我提出了一个不太理想的解决方案。您可以向付费应用程序发出更新,该应用程序将连接到数据库(在您的Web服务器上)并插入一行,其中包含有关购买的信息(AppleID,可能是某种数字收据)。然后在带有IAP的免费版本中,可以使用相同的数据库连接来查看免费应用程序的所有者是否已经购买了其他应用程序。基于此,您可以解锁IAP。唯一的问题是,这取决于所有以前的客户更新到最新版本。

如上所述,收据验证可能更有效,但这不是向后兼容的。祝你好运!

答案 3 :(得分:0)

我假设你想要在Apple的服务器上合并购买历史记录;如果您无法合并两个捆绑包ID的购买数据,则必须设计一些方法让用户将数据保存在您控制的服务器上。使用登录信息更新您的应用,并根据用户的情况将登录与购买结合起来。

工作流程将是这样的:

1)用户登录付费应用
2)用户恢复购买历史
3)付费应用将恢复的购买历史记录保存到您的服务器
4)用户登录免费应用
5)免费应用下载登录用户的所有购买数据