我正在开发一个应用程序,用户可以在该应用程序中订阅要在指定时间段内使用的功能。 订阅期在我们自己的服务器上验证,在此之后用户需要购买新的订阅。
现在我对来自Apple的提醒感到困惑:在“你想买一个......”之后 - 提醒另一个人注意到用户已经支付了订阅费用以及是否要续订!
这真的会带来新的付款吗?
答案 0 :(得分:3)
Apple要求您提供自己的购买UI,无论是AppStore还是警报。在用户向您确认购买后,您的应用会提交SKPayment,这将导致SDK验证用户的商店标识和他们支付的金额(我认为这是您所指的第二个对话框)。
每当用户通过iTunes向您提供资金时,将成为某个iTunes对话框。 Apple不希望开发人员跳过这一步,并从毫无戒心的用户那里获得免费资金。解决方案是围绕它进行设计:您知道对话框即将到来,因此不要先为用户提供冗余对话框。许多应用程序使用带有“购买”按钮的信息页来解决问题 - 而不是两个购买对话框背靠背,他们会看到一个购买信息页面,按下按钮,然后获取Apple SDK购买对话框。
如果您需要订阅服务,则需要在iTunes Connect 中将项目设置为订阅,而不是耗材或非耗材。创建IAP项目后,无法更改其类型,因此请在创建时正确选择。订阅不像消耗品那样处理,即使它们基本上只是基于时间的消耗品。 Apple强制执行不同的措辞以向用户传达某个日期在某个日期到期,另一个语句在某个非时间资源用完之后到期。
您需要在自己的服务器上跟踪订阅购买(检查收据并消除盗版),您的应用应在适当的时间提示续订。就应用程序商店而言,更新订阅是重新购买订阅,所以,是的,你会看到SDK在用户处抛出一些对话框,要求他们验证他们的购买。目前还没有“自动续订订阅”选项。这些原因是许多开发人员提供多月订阅的原因。
答案 1 :(得分:1)
您似乎期望Apple Store知道用户订阅何时到期。它不是。因此,如果您愿意,您的应用程序可以随时更新订阅,即使每1分钟更新一次,Apple Store也会认为这是有效的续订。您的应用程序(或可能是您的服务器)必须进行记帐,验证用户最后一次成功订阅交易的时间,如果不是很快,那么只需跳过订阅付款交易。
答案 2 :(得分:0)
您可以在沙箱中测试所有应用内购买(IAP)内容,但不会产生实际付款。
此外,您的应用如何处理各种交易,确定何时显示“您想要购买...”对话框。
显然,一旦用户购买了订阅,你应该保存(读取:NSUserDefaults),如果他们全部付清,就不要提出“你想买”的警告。
如果这不能回答你的问题,也许可以问一些更具体的问题。特别是,您执行与IAP相关的代码会触发“您想要购买吗?”警报;因此,您必须根据您对用户订阅付款的了解来执行/不执行此操作。