如何在两个iOS应用之间共享应用内购买数据?

时间:2013-10-04 13:36:18

标签: iphone ios in-app-purchase icloud

我想将应用内购买的商品标识符从一个应用(例如“App1”)分享到另一个应用(比如“App2”)。两者都在iOS 7设备上运行。更重要的是,自从“App2”长时间发布以来,这两个应用都有不同的团队ID。当用户点击“从App1恢复购买”按钮时,我希望“App2”解锁某些功能基于用户在“App1”中进行的购买。实现这一目标的最佳方法是什么?

  • 我不想使用UIDocumentInteractionController或UIActivityViewController,因为这需要不必要的用户交互。
  • 无法共享密钥链项或iCloud键值存储,因为这两个应用都有不同的团队ID。
  • 无法使用两个应用可以通信的专用服务器。

2 个答案:

答案 0 :(得分:0)

您无法使用IAP API执行此操作。您可以将信息存储在服务器上并为用户解锁,但这是针对App Store Review Guidelines

Apps utilizing a system other than the In-App Purchase API (IAP) to purchase content, functionality, or services in an App will be rejected.

从技术上讲,如果你检查了自己的服务器并通过它提供了内容,那么你就不会使用API​​。

答案 1 :(得分:0)

现在看来,使用App Bundles进行订阅:https://developer.apple.com/documentation/storekit/in-app_purchase/offering_a_subscription_across_multiple_apps

  

您可以为客户提供可自动更新的订阅服务,可以通过一个或多个操作系统上的多个应用程序访问这些服务。

     

为了提供此功能,即使用户已在特定应用程序内购买了订阅,您的服务器仍必须授予所有应用程序对订阅内容的访问权限。您可以将统一的帐户管理数据库与服务器端收据验证一起使用,以验证用户的购买并确保处理应用内交易。通过授权服务器的订阅访问权限,您可以为用户提供跨多个应用程序访问订阅的功能。