大量用户无法购买我的IAP。这是可以预期的吗?

问题描述 投票:0回答:1

向我的应用添加分析后,我发现很多用户尝试在我的应用中购买产品时遇到错误。并非所有失败。

。我所有用户中的.03%达到错误我的.002%用户成功购买了该产品

我很难调试,因为当我使用不同的设备和不同的Apple帐户进行测试时,购买始终会成功。

[可以找到0个SKProducts(它们必须没有互联网吗?),或者当他们尝试购买时,交易记录为SKPaymentTransactionStateFailed的错误事件将被调用。

我的问题是,我应该如何进行调试?未购买产品的正常用户百分比是多少(可能是他们的iCloud设置不正确,或者是付款被拒)。我仍然可以从IAP获得相对正常的收入,因此很显然它对某些人有用。我是否真的由于错误而错过了所有这些购买,还是发生了其他事情?

我的购买代码如下所示。我正在使用一个名为IAPHelper的pod。我非常怀疑pod是问题所在,因为我将其切换出并获得了相同的结果。

- (void)makePurchase {

    SKProduct* product =[[IAPShare sharedHelper].iap.products objectAtIndex:0];
    [[IAPShare sharedHelper].iap buyProduct:product
                               onCompletion:^(SKPaymentTransaction* trans){

        if(trans.error){
            [self showErrorPurchasing:trans.error];
        } else if(trans.transactionState == SKPaymentTransactionStatePurchased) {
            [[IAPShare sharedHelper].iap provideContentWithTransaction:trans];
            [self purchaseSucceeded];
        } else if(trans.transactionState == SKPaymentTransactionStateFailed) {
            [self showErrorPurchasing:trans.error];
        } else if(trans.transactionState == SKPaymentTransactionStateDeferred) {
            [self hideHud];
        } else if(trans.transactionState == SKPaymentTransactionStateRestored) {
            [self purchaseSucceeded];
        }
    }];
}

谢谢

ios objective-c in-app-purchase storekit
1个回答
0
投票

我无法直接回答您的问题,但是就代码而言,这可能会有所帮助。当你做

SKProduct* product =[[IAPShare sharedHelper].iap.products objectAtIndex:0];

objectAtIndex将在数组为空时崩溃。测试阵列以确保其具有乘积,或使用firstObject,然后测试firstObject是否为nil。所以总而言之

SKProduct * product = [... firstObject];

if ( product )
{
  ... your code ...
}
else
{
  ... unable to read products / no connection ...
}
© www.soinside.com 2019 - 2024. All rights reserved.