【问题标题】:restore feature in in-app purchase应用内购买中的恢复功能
【发布时间】:2012-12-17 06:32:17
【问题描述】:

我在我的应用程序中使用应用内购买。一切正常。 用户可以正常购买、恢复交易。

我在恢复功能方面有 1 个问题:

我该如何实现 - 用户不购买任何物品就无法恢复,因为当用户在不购买任何物品的情况下点击恢复按钮时,它会进行恢复并且应用程序被阻止。

【问题讨论】:

    标签: objective-c ios in-app-purchase


    【解决方案1】:

    无需实现网络服务,只需几行代码即可解决问题 -

    - (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {
    int totalNumberOfPurchaseToBeRestored = queue.transactions.count;
    if (totalNumberOfPurchaseToBeRestored == 0)
    {
        //No item found for Restore"
    }
    else
    {
            // Restore items
    }
    

    }

    【讨论】:

      【解决方案2】:

      当您的交易完成后,更新 ProductPurchased。并检查 viewDidLoad 中 ProductPurchased 的值并相应地设置恢复按钮。检查下面的代码可能对您有帮助并告诉我。

      if([[[NSUserDefaults standardUserDefaults]valueForKey:@"ProductPurchased"]intValue]==1)
             restoreButton.hidden=YES;
      

      在恢复事务完成事务方法中编写如下代码。

      - (void)restoreTransaction:(SKPaymentTransaction *)transaction
      {
         if([[NSUserDefaults standardUserDefaults] valueForKey:@"ProductPurchased"] == 0)
              [[NSUserDefaults standardUserDefaults] setValue:@"1" forKey:@"ProductPurchased"];
         self.viewController.restoreButton.hidden=YES;
      }
      - (void)completeTransaction:(SKPaymentTransaction *)transaction
      {
         if([[NSUserDefaults standardUserDefaults] valueForKey:@"ProductPurchased"] == 0)
              [[NSUserDefaults standardUserDefaults] setValue:@"1" forKey:@"ProductPurchased"];
         self.viewController.restoreButton.hidden=YES;
      }
      

      【讨论】:

      • 意思是当用户成功购买任何物品时显示恢复按钮。
      • 没错,因为在购买任何物品之前,都不需要还原。如果这解决了您的答案,请投票并接受:)
      • 用户第一次下载应用程序时,恢复按钮被隐藏,一旦他购买任何项目,我将显示恢复按钮。并且使用相同的登录用户在不同的设备上下载了该应用程序,然后它是如何工作的,因为恢复按钮是隐藏的,但他已经购买了。
      • 如果用户已经购买了任何商品并且您在应用内使用了非消耗品,那么苹果会处理它。如果你想要全局(特定于用户),那么你需要使用网络服务。
      • 非常感谢@Girish 我正在实施这个,我会尽快接受你的回答。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多