【问题标题】:In App Purchasing server modelIn App Purchasing 服务器模型
【发布时间】:2011-05-19 18:17:07
【问题描述】:

我想为 ipad 应用启用应用内购买。我想卖的是mp3,我认为它应该是一种非消耗品。

通读苹果指南后,似乎实现这一目标的最佳方法是不使用内置模型,因为每次我有新内容时,它都需要我重新提交重新捆绑的应用程序。这给我留下了似乎更复杂的服务器模型。

我在谷歌上搜索的大多数文章主要涉及内置模型。

谁能推荐一些关于在应用购买中实现服务器模型的好文章? 您能否用一些“注意事项”和“注意事项”来概括描述该过程?

据我所知,我需要在苹果商店和我自己的服务器上注册我的产品 ID,并且需要自己跟踪购买。

我认为它会像这样。

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

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

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

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

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

再次指出一篇体面的文章会很棒,也许可以描述如何最好地实现这一点。

谢谢

【问题讨论】:

    标签: iphone cocoa-touch in-app-purchase


    【解决方案1】:

    这是一个大问题!

    幸运的是,当用户购买非消耗性应用内购买项目时,该购买项目仍与该用户的 Apple ID 相关联。您可以通过向 Apple 询问用户已购买的产品标识符列表来轻松恢复应用中的内容。

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

    这是时间表:

    • 用户在应用内进行应用内购买
    • 已在应用中确认购买
    • 应用在本地记录购买
    • 应用程序将购买的产品 ID 发送到我的服务器
    • 我的服务器对请求进行身份验证,接收产品 ID,并以匹配的内容进行响应

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

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

    这有帮助吗?

    【讨论】:

    • 它确实有帮助,谢谢。那是一种解脱,我不必跟踪谁买了什么。因此,购买时应用程序会向您的服务器发送一个产品 ID,而服务器的响应是返回该 ID 的内容,对吗?您能否简要描述恢复内容的过程?
    • 对。服务器知道您在应用商店中拥有的所有产品 ID 很重要,因此它可以在应用发出请求时以适当的内容进行响应。您可能还希望在应用请求中包含某种身份验证数据,以确保它是来自您的应用的合法请求。
    • 在我的回答中附加了一些关于恢复交易的内容。
    • 没问题。编辑了我的答案,使其更易于阅读。
    • @CharlieMezak 你好,我也在做同样的项目。我提供视频给用户购买而不是 mp3。我的问题是填充可用的视频列表,我从我的服务器获取 json带有缩略图链接、标题和产品 id ..所以可以从 json 获取产品 id 还是应该从苹果服务器获取产品 id ??...
    猜你喜欢
    • 1970-01-01
    • 2015-03-12
    • 1970-01-01
    • 2013-04-10
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    相关资源
    最近更新 更多