【问题标题】:iOS - transferring in-apps between appsiOS - 在应用程序之间传输应用程序内
【发布时间】:2012-09-07 04:02:12
【问题描述】:

我正在从事一个最初不是由我开发的项目,该项目是一个带有大量应用内购买的 iphone 应用程序,这些应用内购买是存储在应用程序内的大图像。这些图像使应用程序变大(~ 70 Mb)。此应用程序与 iOS 4.x 及更高版本兼容。

随着 iPhone 5 和 iOS 6 的推出,该公司希望创建一个全新的应用程序,该应用程序仅与 iOS 6 兼容,并放弃对之前版本的所有旧版支持。这个新版本会将应用内购买的图像存储在 Apple 服务器上,这将使应用大小降至 3 Mb。但是,另一方面,他们不想放弃那些购买应用内购买的人,他们想创建一个用户可以将购买从旧版本转移到新版本的方案。

我知道这可以通过在我们这边安装一个服务器并设置一个应用程序和一个数据库来实现,但是他们现在有限的预算正在禁止这样做。那么,有没有办法只使用应用程序和 iCloud(或 Apple 方面的任何东西)来做到这一点?

我想知道是否可以使用this 来执行此操作。我的意思是,我可以使用键值存储的东西来做到这一点吗?或者换句话说:两个应用可以有相同的com.apple.developer.ubiquity-kvstore-identifier吗?

谢谢。

【问题讨论】:

  • 遗憾的是,唯一的方法是使用帐户和服务器端数据库。
  • 我已经更新了我的问题,让它更清楚......

标签: iphone ios ipad in-app-purchase app-store-connect


【解决方案1】:

如果您的用户同时安装了这两个应用程序,则可以很容易地将数据从一个应用程序传输到另一个应用程序,但是不可能将应用程序购买从一个应用程序传输到另一个应用程序。

您需要做的是更新您的旧应用程序以支持某种操作或链接到新应用程序,然后使用 UIApplication openURL: 从旧应用程序中打开新应用程序并传递一些有关升级。

然后在新应用中,您的应用代理将收到 didFinishLaunchingWithOptions: 以及用于启动应用的 URL,然后您可以下载他们的购买。

通过为您的新应用注册 URL 方案来支持此功能,这是一个 info.plist 设置。

在旧应用程序和新应用程序之间进行上述购买元数据传输时,您将遇到的一个问题是无法通过 StoreKit/Apple 恢复他们的购买(如上所述,传输是不可能)。

如果您的新应用有两个应用内购买 SKU,您可以绕过此问题并为现有客户提供恢复购买的能力。

一件商品是新客户需要支付的常用商品,另一件是相同的,但现有客户“购买”为 0 美元,因此他们可以在 StoreKit/Apple 上注册购买,以便他们在未来恢复,而无需旧应用程序。

如果现有客户已通过上述方法升级,新应用可以有条件地向他们显示此 $0 选项。

【讨论】:

  • 你的最后一段让我脑洞大开。你能准确解释你的意思吗?谢谢
  • @RubberDuck 希望我做得更好;)
  • 我想我的大脑现在看到了隧道尽头的某种光...它仍然有雾...?设置存储购买的 icloud 密钥并不容易,就在新应用程序上的转移,以便将来可以使用此密钥恢复购买?
  • @Jessedc 这是你在生产中的东西吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-15
  • 2018-11-15
  • 1970-01-01
  • 2016-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多