我在我的应用中遇到了一个应用内购买拒绝问题,需要一些帮助。
这个应用内容是什么?
在我们的应用中,我们为用户提供了成为高级用户的选项。用户可以成为高级用户以享受一些好处,并且与时间紧密相关。有两个应用内商品定义了它们
由于这些是基于时间的服务,因此用户希望这些服务在他/她从他/她的所有其他设备购买产品达到指定时间后可用。为了跟踪用户是否是高级服务用户,一旦完成购买,应用程序就在服务器中写入关于高级服务的条目。因此,当用户使用其他设备并登录时,他/她可以享受优质服务而不会出现任何问题。出于这个原因,我将上述产品创建为“消耗品”,认为它是由我们的服务器控制的,没有任何问题。但苹果公司拒绝了,并要求我将产品改为“不续订”。
以下是苹果对此的评论
我们发现一个或多个应用内购买产品的购买类型设置不当,不符合App Store审核指南。
“1个月和1年的高级帐户服务”IAP设置为“耗材”。
但是,根据产品功能,使用“应用程序内购买时不可更新订阅”类型会更合适,因为您的应用程序提供的服务要求用户预先付款才能访问内容或接收服务。
创建In App Purchase产品后,无法更改可购买性类型。因此,您需要使用正确的可购买性类型创建新的In App Purchase产品。要在iTunes Connect中创建新的In App Purchase,请转到Manage Your In App Purchases,选择您的应用程序,然后单击“Create New”。当前产品将在iTunes Connect中显示为“已拒绝”。
不可更新的订阅内容必须可供单个用户拥有的所有iOS设备使用,如App Store审核指南的准则11.6中所示:
11.6使用IAP的内容订阅必须至少持续7天,并且所有iOS设备均可供用户使用
如果您选择使用用户注册来满足此要求,请记住要求用户注册是不合适的。此类用户注册必须是可选的。向用户明确说明只有通过注册他们才能访问所有iOS设备的内容是合适的。并且如果他们希望将来访问其他iOS设备上的内容,则为他们提供以后注册的方式。
有关可购买性类型的更多信息,请参阅iTunes Connect开发人员指南。
现在我已经创建了不续订的新应用内商品。但这与我前面提到的方式相同,即服务器跟踪用户是否是高级用户,到期日期。当用户访问其他设备并登录时,应用程序会知道用户是否为高级用户,并且该应用程序可以运行。
但我对此有几个问题,
请分享您的宝贵意见。
答案 0 :(得分:1)
用户极不可能在他们无法使用您的应用的情况下结束,除非他们恢复购买,但仍有可能。想象一下,您的服务器停机一天,在那一天,一些用户购买了订阅,获得了一部新iPhone,在新设备上安装了您的应用程序,然后擦拭了旧的iPhone。我可以想到其他几个,同样不太可能但仍然可能出现的情况(Apple收据验证服务器发生故障等),其中购买收据将在运输过程中丢失。最好提供按钮,如果Apple认为您在应用程序中需要它,那么您将难以说服他们。
如果通过“两次登录”表示用户必须登录您的系统,然后登录App Store购买订阅,那应该不是问题。
答案 1 :(得分:0)
我建议您将Apple要求的更改更改为“购买类型”,然后重新提交。如果您需要澄清缺少还原按钮的情况,请将其放在评论者的注释中