Ios 验证用户过去是否购买过产品(iAP)

Ios 验证用户过去是否购买过产品(iAP),ios,objective-c,xamarin,in-app-purchase,Ios,Objective C,Xamarin,In App Purchase,我有一个很受欢迎的应用程序(下载量超过40万次),这个项目是4年前作为一个“有趣”的项目启动的。我们实施了广告,用户只需0.99美元就可以删除它们。现在,4年后,该应用程序相当流行,我们想改变一下我们的商业模式,从每年0.99美元一次到1.59美元一次。目前我在iOS上的应用内购买遇到了一个小问题: 我想给那些在恢复旧产品后在过去一年内购买iAP的人一个免费的机会,但当我调用“RestorePreviousPurchases”(我在新应用程序中使用Xamarin,旧版本中是Objective-c

我有一个很受欢迎的应用程序(下载量超过40万次),这个项目是4年前作为一个“有趣”的项目启动的。我们实施了广告,用户只需0.99美元就可以删除它们。现在,4年后,该应用程序相当流行,我们想改变一下我们的商业模式,从每年0.99美元一次到1.59美元一次。目前我在iOS上的应用内购买遇到了一个小问题:

我想给那些在恢复旧产品后在过去一年内购买iAP的人一个免费的机会,但当我调用“RestorePreviousPurchases”(我在新应用程序中使用Xamarin,旧版本中是Objective-c)时,当产品恢复时,它会给我一个回调,但是,当用户没有购买旧产品时,我不会收到回调。这是苹果故意做的吗


是否有任何方法来验证是否购买了产品(最重要的部分)。当用户没有购买任何产品时,我需要某种回调。有什么最佳实践吗?它快把我逼疯了;)

这听起来更像是Xamarin的东西而不是苹果的东西。在标准的存储工具包处理中,当您启动恢复时,以前的任何购买都会显示给您的支付队列交易观察者,您可以像处理初始购买一样处理这些购买。恢复完成后,您会接到一个电话,呼叫
paymentQueueRestoreCompletedTransactionsFinished
。这听起来更像是Xamarin的东西,而不是苹果的东西。在标准的存储工具包处理中,当您启动恢复时,以前的任何购买都会显示给您的支付队列交易观察者,您可以像处理初始购买一样处理这些购买。恢复完成后,您将接到一个呼叫
paymentQueueRestoreCompletedTransactionsFinished