gpt4 book ai didi

iphone - iOS - 并非我所有的应用内购买都显示在 iTunesConnect 中

转载 作者:太空狗 更新时间:2023-10-30 03:55:20 26 4
gpt4 key购买 nike

我有一个相当奇怪但很严重的问题,而且我找不到有类似情况的人。

我有一个应用程序,其中包含三个应用程序内购买选项。在 paymentQueue:updatedTransactions: 方法中,我在成功购买后向我的服务器发送一个调用并将其记录在我的数据库中。因此,我可以实时了解我的应用的每个 IAP 的确切数量。

但是,当登录 iTunesConnect 并查看销售情况时,我发现应用内购买的完成数量要少得多。例如,三天前,我的数据库记录了 150 的应用程序购买。然而,iTunesConnect 仅显示当天总共 30 个已完成的交易。

我不知道为什么会这样。

我不验证收据 - 我选择不验证它们,因为我真的不在乎是否有少数人越狱他们的手机并免费获得 IAP。所以我想这可能是问题所在,但我真的怀疑使用我的应用程序的 150 名用户中有 120 名使用的是越狱手机。

所以我想知道:iTunesConnect IAP 报告是否有延迟?还是我的代码中有什么? (下面的代码)

-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
NSLog(@"Transaction: %@\n", transaction.payment.productIdentifier);

switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchasing:

NSLog(@"Processing purchase");
[_purchasingActivityView setTitle:@"Processing"];

// show wait view here
//statusLabel.text = @"Processing...";
break;

case SKPaymentTransactionStatePurchased:

//TODO-> Log analytics
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
NSLog(@"Finished purchase: %@\n", transaction.payment.productIdentifier);

//All Filters were purchased
if([transaction.payment.productIdentifier isEqualToString:kInAppPurchaseFilterPackALLProductId]) {
if ([[ACSimpleKeychain defaultKeychain] storeUsername:@"iapALL"
password:nil
identifier:transaction.transactionIdentifier
forService:@"myService"]) {
[Logger log:[NSString stringWithFormat:@"Stored transaction credentials for fall: %@", transaction.transactionIdentifier]];

[[WebCallManager sharedManager] sendPurchaseNotice:@"ALL" withDeviceId:[OpenUDID value] withDelegate:nil];
}
else {
[Logger log:[NSString stringWithFormat:@"Error storing transaction credentials for fpone & fptwo purchase: %@", transaction.transactionIdentifier]];
}
}

//Filter Pack ONE was purchased
else if([transaction.payment.productIdentifier isEqualToString:kInAppPurchaseFilterPackONEProductId]) {
if ([[ACSimpleKeychain defaultKeychain] storeUsername:@"iapONE"
password:nil
identifier:transaction.transactionIdentifier
forService:@"myService"]) {
[Logger log:[NSString stringWithFormat:@"Stored transaction credentials for fpone purchase: %@", transaction.transactionIdentifier]];
[[WebCallManager sharedManager] sendPurchaseNotice:@"ONE" withDeviceId:[OpenUDID value] withDelegate:nil];
}
else {
[Logger log:[NSString stringWithFormat:@"Error storing transaction credentials for fpone purchase: %@", transaction.transactionIdentifier]];
}
}

//Filter Pack TWO was purchased
else if([transaction.payment.productIdentifier isEqualToString:kInAppPurchaseFilterPackTWOProductId]) {
if ([[ACSimpleKeychain defaultKeychain] storeUsername:@"iapTWO"
password:nil
identifier:transaction.transactionIdentifier
forService:@"myService"]) {
[Logger log:[NSString stringWithFormat:@"Stored transaction credentials for fptwo purchase: %@", transaction.transactionIdentifier]];
[[WebCallManager sharedManager] sendPurchaseNotice:@"TWO" withDeviceId:[OpenUDID value] withDelegate:nil];
}
else {
[Logger log:[NSString stringWithFormat:@"Error storing transaction credentials for fptwo purchase: %@", transaction.transactionIdentifier]];
}
}


[_purchasingActivityView dismissWithClickedButtonIndex:0 animated:YES];

break;


case SKPaymentTransactionStateRestored:
if(_purchasingActivityView) {
[_purchasingActivityView dismissWithClickedButtonIndex:-1 animated:YES];
}

[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
// remove wait view here
NSLog(@"Transation restored\n");
break;

case SKPaymentTransactionStateFailed:

if (transaction.error.code != SKErrorPaymentCancelled) {
NSLog(@"Error payment cancelled");
}
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
// remove wait view here

[_purchasingActivityView dismissWithClickedButtonIndex:-1 animated:YES];
NSLog(@"Purchase Error: %@\n", [[transaction error] description]);

break;

default:
break;
}
}
}

从用户的角度来看,交易似乎完美无缺。

任何帮助/建议将不胜感激。这让我完全不知所措。谢谢!

编辑:我还应该提一下,我有三个 IAP 产品,根据我的数据库记录,所有这些产品都已多次购买。然而,ITC 只显示其中两个曾经被购买过。

最佳答案

很有可能是越狱手机。在我的应用程序中,我看到的假收据数量是真收据的两倍。

关于iphone - iOS - 并非我所有的应用内购买都显示在 iTunesConnect 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14440138/

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