在两个不同的应用程序之间共享非消耗性应用内购买是不是违反了 App Store 指南?

Posted

技术标签:

【中文标题】在两个不同的应用程序之间共享非消耗性应用内购买是不是违反了 App Store 指南?【英文标题】:Is sharing non-consumable In-App Purchases between two different apps against App Store guidelines?在两个不同的应用程序之间共享非消耗性应用内购买是否违反了 App Store 指南? 【发布时间】:2013-10-08 06:39:10 【问题描述】:

我有两个不同的应用程序,它们在功能上有一些重叠。因此,两个应用程序中的一些应用内购买是相同的。所以我希望用户能够在另一个应用中使用他从一个应用购买的功能。

例如,如果有两个游戏,一个是赛车游戏,另一个是自行车赛车游戏,并且用户在其中一个应用中购买了赛道作为 IAP,那么他必须能够在赛道上玩在这两个应用程序中。

问题是,Apple 是否允许这种行为。根据App Store guidelines 之一的说法,“使用 App Store 以外的机制解锁或启用其他特性或功能的应用将被拒绝”。

如果确实允许并且已经实施,那么实现这一目标的最佳方法是什么? 请注意,其中一个应用程序是很久以前创建的,因此两个应用程序的捆绑种子 ID 不同。 这是我尝试过的:

由于两个应用的团队 ID 相同,我能够使用 iCloud 在应用之间共享应用内购买数据。但是将购买的产品标识符存储在 iCloud 中是否安全?会不会很容易被黑? 由于应用程序的捆绑种子 ID 不同,我无法使用 Key Chain Items 在应用程序之间共享数据。 我可以为应用程序创建自定义 URL,让一个应用程序打开另一个应用程序并知道其中创建的 IAP。但这会导致不必要的用户交互。这是我现在的最后一招!

【问题讨论】:

iCloud 中的产品标识符会很容易被黑客入侵吗? 好吧,每个连接互联网的人都有机会被黑客入侵。 或者不是被黑,问题应该是,可以轻松修改吗?用户可以轻松修改应用程序的 NSUserDefaults。类似地,应用的 iCloud 数据是否可以轻松修改? 【参考方案1】:

根据 Apple 的指南:Getting Started with In-App Purchase on ios and OS X,不允许在应用之间共享应用内购买。

【讨论】:

以上是关于在两个不同的应用程序之间共享非消耗性应用内购买是不是违反了 App Store 指南?的主要内容,如果未能解决你的问题,请参考以下文章

消耗品应用内购买是不是适用于不同的轮胎?

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

iOS 非消耗性购买是不是与使用帐户或设备绑定?

检查用户是不是真的为应用内购买付费 [iOS, Swift]

iOS 应用内购买。识别购买的产品(非消耗品)。

应用内购买缺少非消耗性选项?