gpt4 book ai didi

c# - iOS 应用内购买(消耗品)- 服务器超时

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:59 28 4
gpt4 key购买 nike

我对应用内购买的特定情况有疑问。

我们在我们的应用程序中有一个用于购买硬币的消耗品:

  • 使用 IAP 购买 0.99 美元的硬币包
  • 我们向我们的服务器发送请求以记录购买并将硬币添加到他们的帐户(这些硬币在多个设备之间共享,我们的服务器在这里完成工作)
  • 完成 IAP 交易

问题是,如果对我们服务器的请求超时或失败,我们应该怎么办?用户花了钱,但永远不会得到硬币。如果他们此时再次尝试购买,则会出现错误,提示购买内容尚未下载。

我看到了“恢复交易”选项,但不确定如何在此处应用它。我宁愿在应用程序的某处没有用于它的按钮。

别担心这个应用程序还没有发布,这个应用程序是用 C# 和 MonoTouch 编写的,但欢迎使用 Objective-C 答案。

最佳答案

恢复交易就可以了。它只是再次重新下载购买。看看这里的第五篇文章:

http://monogame.codeplex.com/discussions/359109

实现代码如下:

InAppPurchaseManager > MySKPaymentObserver:

    public override void PaymentQueueRestoreCompletedTransactionsFinished (SKPaymentQueue queue)
{
foreach(SKPaymentTransaction transaction in queue.Transactions)
{

#if DEBUG
Console.WriteLine("Restoring Transaction " + transaction.Payment.ProductIdentifier);
#endif
theManager.restoreTransaction(transaction);
}
}

以下是如何在您的游戏中调用代码:

 app = new InAppPurchaseManager ();
app.LoadStore();
SKPaymentQueue.DefaultQueue.RestoreCompletedTransactions();

关于c# - iOS 应用内购买(消耗品)- 服务器超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11226032/

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