【问题标题】:3 Month free only on first installation仅在首次安装时免费 3 个月
【发布时间】: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


【解决方案1】:

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

【讨论】:

  • 禁止跟踪UDID,您应该使用帐户。
  • 这是完全错误的,你不能使用UDID。阅读新的“广告便利代币”——以及你可以用它做什么和不能做什么。
  • FWIW 现在每个人都有很多设备。所有使用 wifi 卡标识符等的系统(例如 Unity3D)……每年都会在 Apple 取缔时被 Apple 破坏。这只是一个初学者 - 这不是应用程序的工作方式。
猜你喜欢
  • 1970-01-01
  • 2012-04-02
  • 2011-11-22
  • 2020-03-28
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多