8

我正在开发一个应用程序,用户可以在其中订阅一项功能以在指定时间段内使用。订阅期在我们自己的服务器上得到验证,在此之后用户需要购买新的订阅。

现在我对来自 Apple 的警报感到困惑:在“你想买一个...”之后,还有另一个带有用户已经支付订阅费用以及如果他想续订的说明!

这真的会导致新的付款吗?

4

3 回答 3

3

Apple 要求您展示自己的购买 UI,无论是 AppStore 之类的东西还是警报。在用户向您确认购买后,您的应用会提交 SKPayment,这将导致 SDK 验证用户的商店身份和他们支付的金额(我相信这是您所指的第二个对话框)。

任何时候用户通过 iTunes 给你钱,都会在某处出现一个 iTunes 对话框。Apple 不希望开发人员跳过这一步并从毫无戒心的用户那里获得免费资金。解决方案是围绕它进行设计:你知道对话框即将到来,所以不要先给用户一个多余的对话框。许多应用程序使用带有“购买”按钮的信息页面来解决这个问题 - 而不是两个背靠背的购买对话框,他们会看到一个购买信息页面,按一个按钮,然后获得 Apple SDK 购买对话框。

如果您想要订阅服务,那么您需要在 iTunes Connect 中将项目设置订阅,而不是消耗品或非消耗品。创建 IAP 项目后,您无法更改其类型,因此请在创建时正确选择。订阅不像消耗品那样处理,即使它们基本上只是基于时间的消耗品。Apple 强制使用不同的措辞向用户传达一个在某个日期到期,另一个在一些非时间资源用完后到期。

您需要在自己的服务器上跟踪订阅购买情况(以检查收据并消除盗版),并且您的应用程序应在正确的时间提示续订。就应用商店而言,续订订阅就是重新购买订阅,所以,是的,您会看到 SDK 向用户抛出一些对话框,要求他们验证购买。目前也没有“自动续订”选项。这些原因是许多开发人员提供多月订阅的原因。

于 2010-09-30T18:15:29.037 回答
1

您似乎希望 Apple Store 知道用户订阅何时过期。它不是。因此,您的应用程序可以随时更新订阅,甚至每 1 分钟一次,如果您愿意,Apple Store 只会认为这是有效的更新。您的应用程序(或者可能是您的服务器)必须进行记账,验证用户最后一次成功的订阅交易是多久之前的,如果还不够快,则跳过订阅支付交易。

于 2010-11-25T14:39:16.417 回答
0

您可以在不会导致实际付款的沙箱中测试所有应用内购买 (IAP) 内容。

此外,您的应用程序如何处理各种交易决定了“您要购买...”对话框何时出现。

显然,一旦用户购买了订阅,你应该保存它(阅读:NSUserDefaults),并且如果它们都已付清,则不要发出“你想购买”的警报。

如果这不能回答您的问题,也许可以问一些更具体的问题。特别是,您执行与 IAP 相关的代码会触发“您要购买吗?” 警报; 因此,您必须根据您对用户订阅付款的了解来做/不做。

于 2010-09-29T18:33:10.540 回答