in_app_purchase 无法打开购买对话框

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

未处理的异常:PlatformException(storekit_duplicate_product_object,同一产品标识符有待处理的交易。请等待其完成或使用completePurchase手动完成以避免边缘情况。,{applicationUsername:null,requestData:null,数量:1 ,productIdentifier:高级,模拟AskToBuyInSandbox:null})

flutter entity-framework flutter-dependencies flutter-web flutter-test
2个回答
4
投票

如果您使用 in_app_purchase 插件,那么在开始新的购买周期之前,您需要将所有先前的购买周期标记为已完成。

您可以使用简单的 for 循环来查找所有购买详细信息并将其标记为完成。

for (var _purchaseDetails in purchaseList) {
    if (_purchaseDetails.pendingCompletePurchase) {
      await _inAppPurchase.completePurchase(_purchaseDetails);
   }
}

请记住在开始购买之前使用此代码,这样就不会出现待处理的购买。


0
投票
import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';

      final transactions = await SKPaymentQueueWrapper().transactions();
      transactions.forEach((transaction) async {
        await SKPaymentQueueWrapper().finishTransaction(transaction);
      });
© www.soinside.com 2019 - 2024. All rights reserved.