gpt4 book ai didi

ios - 拥有自己的服务器的AppStore应用内购买流程

转载 作者:太空宇宙 更新时间:2023-11-03 22:59:26 26 4
gpt4 key购买 nike

Schema

有人可以帮助我理解以下架构吗?我有一个 iOS 应用程序和一个应用程序服务器。应用程序和服务器(1A、1B)之间的连接已正常工作。

假设应用程序的用户有 10 个 gem ,出于安全原因由服务器控制。我在 AppStore 中有一个消耗性 IAP 类型:100 个 gem 包,用户想要购买它。当然,我想在我的Mongo数据库中做一条记录,以增加用户的gem数量。

这个流程是如何运作的?我应该先在应用程序中使用 StoreKit 然后再与服务器通信吗?或者可以在服务器上创建一个端点,例如“/buyPack/100gems”并在服务器端执行所有操作?据我了解,我需要验证来自 AppStore 的收据,但是从哪里获取它以及它包含什么?

如果您可以使用我的箭头(1A、2A、3B 等),我将非常感激。

最佳答案

购买必须在使用 StoreKit 的 iOS 设备上进行。

当您收到状态为 .purchased 的交易时,您应该检索收据并将其发送到您的服务器进行验证。一旦您的服务器向 Apple 验证了收据并更新了 MongoDB 中的用户余额,它应该向应用程序返回成功状态。此时应用程序应该完成与 StoreKit 的交易。

请注意,在您更新数据库之后但在收到响应并完成事务之前,应用程序可能会被用户终止或失去网络连接。在这种情况下,应用程序将在下次启动时再次接收交易。您的服务器应该通过检查事务标识符来为此做好准备。如果您之前已处理过该交易,请将成功返回给您的应用程序,以便它可以完成交易,但不会再次增加用户的余额。

参见this answer有关收据验证的更多建议。

流程是这样的:

  • 3B - 使用 StoreKit 进行购买
  • 3A - 付款确认后,更新的交易将传送至应用
  • 1A - 应用程序将收据和交易详细信息发送到您的服务器
  • 2A - 您的服务器向 Apple 验证收据
  • 2B - 您的服务器根据经过验证的收据更新用户的余额
  • 1B - 您的服务器向应用返回成功状态
  • 3B - 您的应用使用 StoreKit 完成交易

关于ios - 拥有自己的服务器的AppStore应用内购买流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51808246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com