flutter 包 in_app_purchase 中的 queryProductDetails() 出现问题

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

我正在尝试向我的 IOS 应用程序添加订阅。我使用的代码适用于 Android,但不适用于 IOS 每当我使用

final ProductDetailsResponse response = await InAppPurchase.instance .queryProductDetails({'standard', 'family'});
当它不应该返回一个空数组时,它总是返回一个空数组。 我认为这与苹果拥有订阅组有关,但我不确定。为了更好地理解,以下是完整的功能:

  Future<bool> makePurchaseIos(String productId) async {

    late ProductDetails standardPlan;
    late ProductDetails familyPlan;

    final ProductDetailsResponse response = await InAppPurchase.instance
        .queryProductDetails({'standard', 'family'});

    ScaffoldMessenger.of(context).showSnackBar(SnackBar(
              content: Text("Got the following products: ${response.productDetails}"),
            ));

    for (ProductDetails product in response.productDetails) {
      if (product.id == 'standard') {
        standardPlan = product;
      } else if (product.id == 'family') {
        familyPlan = product;
      }
    }

    ///

    ProductDetails selectedProduct;
    if (productId == "standard") {
      selectedProduct = standardPlan;
    } else {
      selectedProduct = familyPlan;
    }

    final PurchaseParam purchaseParam =
        PurchaseParam(productDetails: selectedProduct);
    await InAppPurchase.instance.buyConsumable(purchaseParam: purchaseParam);
    print(selectedProduct);
    return true;
  }

每当我尝试按下订阅时,它都会返回空数组,这意味着

queryProductDetails()
函数的响应什么也没有。我不知道为什么会发生这种情况,因为我肯定给了它正确的订阅 ID

ios flutter dart in-app-purchase flutter-in-app-purchase
1个回答
0
投票

在客户的计算机上,他们告诉我他们已经设置了银行业务、税务并同意条款和条件。事实证明他们没有这样做,所以这就是问题所在,但是苹果并没有给你一条实际的错误消息来通知你这一点。如果您遇到同样的错误,请仔细检查我提到的步骤是否已完成。

© www.soinside.com 2019 - 2024. All rights reserved.