2011-05-19 82 views
2

我想在应用程序采购中启用ipad应用程序。我想卖的是我认为应该是非消费型产品的mp3。In App购买服务器型号

阅读完苹果指南后,似乎最好的方法是不使用内置模型,因为每次我有新内容时都需要重新提交绑定的应用程序。这给我留下了似乎具有更高复杂度的服务器模型。

大多数文章中,我主要关注内置模型。

任何人都可以提出一些关于在应用程序采购中实现服务器模型的好文章吗? 你能否在高层描述一些做什么和不该做什么?

据我了解,到目前为止,我需要在苹果商店和我自己的服务器上注册我的产品ID,并且需要自己跟踪购买。

我认为它会有点像这样。

向用户显示产品清单,首先从我的服务器&获取ID,然后将它们发送到应用商店。

我将选定的产品ID发送到应用商店&商店返回产品信息。

当用户选择购买商店时,将收据返还给我,然后传递给我的服务器。

我必须将收据发回苹果进行验证,然后返回到我的服务器.....然后我的服务器传递内容。

以上总结是否正确?如何将设备上的购买/收据与用户关联起来,并跟踪谁购买了什么?

再次指向一个体面的文章将是伟大的,也许是如何最好地暗示这一点的描述。

谢谢

回答

10

这是个大问题!

幸运的是,当用户购买非消费性应用内购买时,购买仍与该用户的Apple ID相关联。您可以通过向Apple索取用户购买的产品标识列表来轻松恢复应用程序中的内容。

我已经在rails上设置了一个使用ruby的服务器内容交付系统。服务器上的每个产品都有一个ios_product_identifier属性,对应于在iTunes连接上创建的应用内购买产品。

这里的时间表:

  • 用户进行应用程序内购买从App
  • 购买的是在应用程序确认的内
  • 该应用程序记录购买本地
  • 的应用将购买的产品ID发送到我的服务器
  • 我的服务器验证请求,接收产品ID并用匹配的内容回应

您的服务器不必跟踪谁购买了什么,因为Apple会这样做。您只需确保您的应用只在产品购买(或先前购买后恢复)时才从服务器请求数据。

您可以在this documentation page的底部阅读有关恢复产品的信息。您基本上会向Apple的一个StoreKit对象发送消息,并且它会为已购买的非消费品重新确定购买流程。

这有帮助吗?

+0

它的确帮助谢谢。这是一种解脱,我不必跟踪谁买了什么。因此,购买的应用程序会向您的服务器发送产品ID,服务器的响应是返回该ID的内容。你能简要描述恢复内容的过程吗? – dubbeat 2011-05-19 18:33:26

+0

对。服务器知道您在应用商店中拥有的所有产品ID很重要,因此它可以在应用发出请求时使用适当的内容进行响应。您也可能希望在应用请求中包含某种认证数据,以确保它是来自应用的合法请求。 – CharlieMezak 2011-05-19 18:40:13

+0

附加了一些关于恢复事务到我的答案。 – CharlieMezak 2011-05-19 18:42:40