- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们是三个人,他们做了一个 free game适用于 iPhone,已在 App Store 上架近一年。
该应用是一款棋盘游戏,您可以在其中创建用户或使用您的 Facebook 凭据登录。您可以退出游戏并使用另一个帐户重新登录。
现在我们更新了应用程序,可以将用户升级为高级用户。允许个人和全局游戏统计。
但是Apple在审批过程中让我们很头疼,拒绝接受我们的In-App Purchase。首先他们不会批准它,因为它没有恢复按钮。然后当我们告诉他们,不需要恢复按钮,因为这是消耗品购买时,他们现在要求我们将其更改为非消耗品并添加恢复按钮。
如果购买的是非消费品,请考虑这种情况。
这将允许您将两个帐户升级到高级帐户,但只需购买一次。
Apple 的论点是,如果设置了新设备或恢复了设备,我们的用户需要能够恢复购买。
但这不是它的工作方式。用户将他们的帐户升级为高级帐户。现在当他们购买新设备或恢复现有设备时,他们只需使用现有游戏帐户登录即可升级,因为我们在服务器端已将该帐户标记为高级帐户。
所以我的问题基本上是。当我们选择使用消耗品而不是非消耗品时,我们完全错了吗?如果是这样,应该如何实现非消耗品,以便(可能)在同一设备上使用不同的游戏帐户多次购买?
其次,如果我们对消耗性应用内购买的使用是正确的,我们应该怎么说才能让 Apple 相信我们走在正确的道路上?
最佳答案
如果您的高级帐户是您的用户只需购买一次的东西,那么 Apple 要求您切换到非消费型应用内绝对是正确的。
您描述的情况很有可能发生(我也不得不面对),但如果您在解锁高级功能(保存与用户关联的所有交易)之前添加应用内收据的服务器端验证,您就有机会检查收据数据中的 original_transaction_id
和 original_purchase_date
字段,验证购买是新的还是恢复的。通过这种方式,您可以查看恢复购买的用户是否与最初购买的用户相同(可能会检查其 Facebook 用户 ID)。
无论如何,经验告诉我发生这种情况的可能性并不高,我不建议实现此检查(尽管服务器端验证几乎总是必须的 ;-))
关于iphone - iOS 中的消耗品与非消耗品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16118365/
这是一个 Cocoa 应用内购买问题。 我有一款游戏,您可以购买一组 10 条生命,这是一种消耗品应用内购买 - 一旦生命用完,用户必须购买更多生命。 如果用户使用生命的子集(例如 5),然后删除应用
我正在我的应用程序中实现应用内购买。根据要求,每次我在应用程序中按下“购买”按钮时,应该购买产品。 在 itunesconnect 网站上,我的产品属于哪一类? 消耗品或非消耗品。 我对选择类别感到困
在我的实时应用程序上,用户不断收到有关消费品的错误消息。这是非常随机的错误,很少发生。 此应用内购买已被购买。它将免费恢复。 在我的应用程序中,除非应用程序购买过程完成,否则我阻止用户点击“立即购买”
我的问题主要围绕使用 Google 的应用内结算 API 处理应用内消费品购买。 ( https://developer.android.com/google/play/billing/api.htm
我对应用内购买的特定情况有疑问。 我们在我们的应用程序中有一个用于购买硬币的消耗品: 使用 IAP 购买 0.99 美元的硬币包 我们向我们的服务器发送请求以记录购买并将硬币添加到他们的帐户(这些硬币
是否可以通过 Windows 应用商店购买以下项目作为应用内购买? 插件 消耗品(一次性使用) 订阅 我在哪里可以找到有关如何在应用内购买中为插件、消耗品、订阅编码的资源? 是的,我曾尝试使用谷歌搜索
我是一名优秀的程序员,十分优秀!