我需要实现一个系统,当用户第一次安装我的应用程序时,他有3个月的免费使用时间。 三个月后,该应用必须显示应用内购买选项。 我需要避免,如果用户删除并重新安装应用程序,他可以再次使用三个月免费使用。 我想使用InApp购买(免费,非消耗品)来实现我的目标。 使用' Non-Consumable'我有' SKPaymentTransaction * originalTransaction'包含原始交易的日期,因此我可以知道如果3个月过期,如果用户在其他设备中重新安装或安装该应用程序,他可以使用相同的iTunes帐户恢复剩余的天数。 不幸的是,苹果公司拒绝使用这个原因:
" 11.7:使用IAP购买商品的应用必须指定正确的购买类型 11.7
我们发现一个或多个应用内购买产品的购买类型设置不当,不符合App Store审核指南。
' 3 mese'设置为非消耗品。但是,根据产品功能,使用“应用程序内购买时不可更新订阅”类型更为合适,因为应用程序提供的服务要求用户预先付款以访问内容或接收服务。 "
他们建议我使用不可再生订阅,但我在非可再生订阅中没有免费价格,因此对我来说没用。
我能以什么方式实现我的目标?
我应该使用KeyChain存储一些标识符吗? 但通过这种方式,用户将在每个设备上有3个月的时间,我将无法在我的服务器上唯一标识符,此外,格式化iphone,他将有另外3个月的免费使用
也许在应用程序中,我可以强制用户在我的服务器上创建一个帐户(例如,未通过parse.com),可以免费使用3个月吗?无论如何,除非我要求将个人数据作为电话号码,否则用户可以创建几个虚假账户...但我认为如果我提出个人数据,Apple可以拒绝该应用
在这些案件中采用的最佳选择是什么?
答案 0 :(得分:0)
为此,我首先要创建一个后端系统。可能使用Parse.com。然后我会在注册应用程序时注册用户UDID。这样他们所注册的设备不仅仅是应用程序。然后创建一个代码,允许他们访问应用程序,但在解析数据库中执行检查以查看是否允许他们使用免费内容。如果没有,则显示付款选项。