0

我对恢复 iap 感到困惑,如何恢复它我已经管理了所有代码,如何恢复它工作正常。我面临的问题是在哪里调用恢复以前的购买 1)在应用程序第一次运行时调用视图只加载一次......

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

2)在用户再次点击购买功能之前调用它,如果它无法恢复然后调用购买功能。

我很困惑如何解决它......我面临的另一个问题是,当它尝试从不同的苹果 id (实际上没有购买该功能)恢复先前购买时,然后在模拟器弹出窗口中打开连接到 ITUNE .. .

4

2 回答 2

0

要恢复,您必须提供一个恢复按钮,以便每当用户单击该按钮时,用户所做的所有购买都应恢复。在IBAction方法中写下这些代码来恢复

-(IBAction)restorePurchase:(id)sender
{
    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}

记住一件事,应用购买测试应该在设备上而不是在模拟器上进行。

于 2013-12-27T06:06:39.220 回答
0

你有一些选择来呼吁这一点:

  1. 将其称为应用程序的首次运行:- 保留一个 NSUserDefaults 值来计算应用程序的运行时间,就像在您的 didFinishLaunchingWithOptions 方法中一样:

    int i = [[NSUserDefaults standardUserDefaults] integerForKey:@"usageCount"];
    i = i+1;
    
    [[NSUserDefaults standardUserDefaults] setInteger:i forKey:@"usageCount"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    

从应用程序的任何地方,您都可以查看和调用

if([[NSUserDefaults standardUserDefaults] integerForKey:@"usageCount"]==0)
{
    //Call you action
}

对于第一次运行,您可以调用恢复购买的价值。

  1. 您可以在应用程序的其他/更多/设置屏幕中保留一个选项/按钮,您可以在表格视图中保留用户反馈、评分、应用内购买、恢复购买。
于 2016-10-05T05:55:53.803 回答