【发布时间】:2023-03-03 02:12:01
【问题描述】:
我需要实现一个系统,当用户第一次安装我的应用程序时,他可以免费使用 3 个月。 三个月后,该应用必须显示应用内购买选项。 我需要避免如果用户删除并重新安装应用程序,他可以再次使用三个月的免费使用。 我想使用 InApp 购买(免费的非消耗品)来实现我的目标。 使用'Non-Consumable'我有'SKPaymentTransaction *originalTransaction'包含原始交易的日期,所以我可以知道3个月是否过期,如果用户在其他设备上重新安装或安装应用程序,他可以恢复剩余的使用同一个 iTunes 帐户的天数。 不幸的是,Apple 使用以下原因拒绝了该应用程序:
" 11.7:使用 IAP 购买商品的应用程序必须分配正确的可购买性类型 11.7
我们发现您的一个或多个 In App Purchase 产品的可购买性类型设置不当,这不符合 App Store 审核指南。
'3 mese' 设置为非消耗品。但是,根据产品功能,使用“应用内购买不可更新订阅”类型更为合适,因为您的应用程序提供的服务需要用户预付费才能访问内容或接收服务。 "
他们建议我使用 Non-Renewable Subscription,但我在 Non-Renewable Subscription 中没有免费价格,所以对我来说没用。
我可以通过什么方式实现我的目标?
我应该使用 KeyChain 来存储一些标识符吗? 但是通过这种方式,用户将在每台设备上使用 3 个月,而我将无法在我的服务器上进行唯一标识符,此外,格式化 iphone 他将有另外 3 个月的免费使用时间
也许在应用程序中我可以强制用户在我的服务器上创建一个帐户(或 unsing parse.com 例如)以获得 3 个月的免费时间?无论如何,除非我要求提供个人数据作为电话号码,否则用户可以创建多个虚假帐户......但我认为如果我要求提供个人数据,Apple 可能会拒绝该应用程序
在这些情况下,最好的选择是什么?
【问题讨论】:
-
根本不可能做到这一点。它违背了 iPhone 上应用程序的绝对基本模型。
标签: ios iphone in-app-purchase restore keychain