Ios 仅在首次安装时免费3个月

Ios 仅在首次安装时免费3个月,ios,iphone,in-app-purchase,restore,keychain,Ios,Iphone,In App Purchase,Restore,Keychain,我需要实现一个系统,当用户第一次安装我的应用程序时,他可以免费使用3个月。 三个月后,应用程序必须显示应用内购买选项。 我需要避免,如果用户删除并重新安装应用程序,他可以再次使用三个月的免费使用。 我想用InApp购买一件免费的非消耗品来实现我的目标。 使用“非消耗品”我有“SKPaymentTransaction*originalTransaction”包含原始交易的日期,因此我可以知道3个月是否过期,如果用户在其他设备上重新安装或安装应用程序,他可以使用相同的iTunes帐户恢复剩余的天数。

我需要实现一个系统,当用户第一次安装我的应用程序时,他可以免费使用3个月。 三个月后,应用程序必须显示应用内购买选项。 我需要避免,如果用户删除并重新安装应用程序,他可以再次使用三个月的免费使用。 我想用InApp购买一件免费的非消耗品来实现我的目标。 使用“非消耗品”我有“SKPaymentTransaction*originalTransaction”包含原始交易的日期,因此我可以知道3个月是否过期,如果用户在其他设备上重新安装或安装应用程序,他可以使用相同的iTunes帐户恢复剩余的天数。 不幸的是,苹果拒绝该应用程序的原因如下:

11.7:使用IAP购买项目的应用程序必须指定正确的可购买性类型 11.7

我们发现您的一个或多个应用内购买产品的可购买性类型设置不正确,这不符合应用商店审查指南

“3 mese”设置为非消耗品。但是,基于产品功能,更适合使用不可续费的应用程序内订阅购买类型,因为应用程序提供的服务要求用户预付款才能访问内容或接收服务。

他们建议我使用不可再生的订阅,但我没有免费的价格在不可再生的订阅,所以它对我没有用

我怎样才能达到我的目标

我应该使用KeyChain来存储一些标识符吗? 但这样一来,用户在每台设备上有3个月的时间,我将无法在我的服务器上唯一地识别标识符,此外,格式化iphone,他将有另外3个月的免费使用时间

也许在应用程序中,我可以强制用户在我的服务器或unsing parse.com上创建一个帐户,例如免费使用3个月?不管怎样,用户可以创建几个假帐户,除非我要求将个人数据作为电话号码……但我认为,如果我要求提供个人数据,苹果可以拒绝该应用程序


在这些情况下,最好的选择是什么?

为此,我首先要创建一个后端系统。可能使用Parse.com。然后,当用户注册应用程序时,我会注册用户UDID。这样一来,他们注册的不仅仅是应用程序,而是设备。然后创建一个代码,允许他们访问应用程序,但在解析时在数据库中执行检查,查看是否允许他们访问免费内容。如果没有,则显示付款选项

禁止跟踪UDID,你应该使用帐户。这是完全错误的,你不能使用UDID。阅读新的广告便利令牌-以及你可以和不能用它做什么。同时,FWIW现在每个人都有很多设备。使用wifi卡标识符等的所有系统,如Unity3D。。每年都会被苹果压垮。这只是一个非初学者-这不是应用程序的工作方式。这根本不可能做到。这与iPhone上应用程序的绝对基本模式背道而驰。