iPhone OS 3.0中StoreKit的设计技巧?

iPhone OS 3.0中StoreKit的设计技巧?,iphone,iphone-sdk-3.0,storekit,Iphone,Iphone Sdk 3.0,Storekit,我将在一个iPhone应用程序中实现StoreKit,我想知道是否已有任何经验可以指出使用StoreKit的任何陷阱或陷阱 我知道API是新的——但我的应用程序中有一些高级内容,我想让用户付费,这似乎是一种理想的方式——而不是将他们引导到一个网站,在订阅时单独付费 我还假设有关于如何在应用商店中列出应用程序的指导原则,以明确该应用程序是免费安装的,但您必须升级某些功能 更新(来自评论): 您无法将免费应用程序转换为付费应用程序-因此用户必须先以最低成本安装它,然后才能使用StoreKit API

我将在一个iPhone应用程序中实现StoreKit,我想知道是否已有任何经验可以指出使用StoreKit的任何陷阱或陷阱

我知道API是新的——但我的应用程序中有一些高级内容,我想让用户付费,这似乎是一种理想的方式——而不是将他们引导到一个网站,在订阅时单独付费

我还假设有关于如何在应用商店中列出应用程序的指导原则,以明确该应用程序是免费安装的,但您必须升级某些功能

更新(来自评论): 您无法将免费应用程序转换为付费应用程序-因此用户必须先以最低成本安装它,然后才能使用StoreKit API收取附加软件的费用

第二次更新:你现在可以在免费应用中使用API了——苹果最近改变了规则



有谁能推荐一个使用StoreKit API的好应用程序,我可以在其上对用户交互进行建模吗?

请仔细阅读文档,并完成在辅助设备上重新加载数据所需的所有操作

请记住,消耗品(不必支持在其他设备上免费重新购买)和非消耗品(在您这样做的地方,听起来就像您拥有的一样)之间存在差异


另外,我听到的最大的一个提示是,在测试时,从手机上注销自己的iTunes帐户,然后登录到您用于测试的帐户 我怀疑SK会给你的客户另一个对你的申请感到“不安”的理由

您必须小心如何表示“高级”或“附加”内容。请记住,到目前为止,客户一直在获得这些应用的免费更新。客户肯定会强烈反对,这取决于您的执行情况和您的目标市场

事实上,如果你做广告:“我不收取额外内容的费用”,这可能会促进你的销售。我认为这是吸引顾客的一个新趋势,向顾客保证1.99美元就是1.99美元


因此,除了客户感知之外,您还必须维护后端基础架构,以保存客户记录以便恢复。我意识到开放式利润的前景是诱人的,但在为您的应用程序实现之前还有很多需要考虑。

< P>我围绕StuteKIT框架做了一个很好的包装。

实施StoreKit时需要考虑的事项:

  • 当您调用
    [[SKPaymentQueue defaultQueue]restoreCompletedTransactions]时
    有时您会在
    -(void)paymentQueue:(SKPaymentQueue*)队列回调之前(有时在很久之前)收到
    (void)paymentQueue:(SKPaymentQueue*)队列更新事务:(NSArray*)事务
    回调。(有时也会丢失事务。)

  • 有时,当您使用
    [[SKPaymentQueue defaultQueue]addPayment:payment]将购买添加到队列时事务将从队列中删除,您得到的唯一反馈是:
    -(void)paymentQueue:(SKPaymentQueue*)队列删除事务:(NSArray*)事务

  • 用户取消返回各种各样的错误消息,某些错误条件返回SKErrorPaymentCancelled错误代码。明确地:
    • 如果用户在提示“您已购买此产品”时点击“取消”,则交易错误为零。
    • 如果用户在提示“登录:[使用现有帐户][创建新帐户][取消]”时点击“取消”,则错误代码为SKErrorUnknown。
    • 如果用户在提示输入密码时点击[OK]而不是取消,并且尚未输入密码,则错误代码为SKErrorPaymentCancelled。

  • 不要忘记实现其他SKRequest回调:

    -(void)请求:(SKRequest*)请求失败错误:(NSError*)错误

    -(void)requestdidfish:(SKRequest*)request


  • 您可能会注意到,已经明确指出,免费应用程序不能对附加内容收费,只有付费应用程序才能收费。他们不会让它进入商店,不管你在描述中使用哪种语言。是的,显然你必须为初始应用收费,即使它只是99美分,以便顺便使用应用内购买的东西:“而不是引导他们到一个网站上单独支付他们的订阅费。”-我认为这也超出了应用商店的条款范围(因为苹果不会这样做)。Evernote做到了这一点,而且它在应用商店中。免费应用现在可以实现应用内购买。这个答案不再正确-但我似乎无法改变这一点!