flutter 在应用购买中给予错误offer令牌在升级包到in_app_purchase 3.1.7后为空

pftdvrlh  于 2023-08-07  发布在  Flutter
关注(0)|答案(2)|浏览(142)

我已经在我的Flutter应用程序中实现了非消耗品。升级后,在应用程序购买包购买对话框未显示,它给予我以下错误:
PlatformException(INVALID_OFFER_TOKEN,产品每月的Offer token null无效。确保只传递属于产品的offer令牌。要获取产品的报价令牌,请获取产品。如何获取产品的示例可以在这里找到:https://github.com/flutter/packages/blob/main/packages/in_app_purchase/in_app_purchase/README.md#loading-products-for-sale,null,null)
我的基本计划没有报价。任何帮助都是感激的。

yk9xbfzb

yk9xbfzb1#

我找到了解决办法。要解决Flutter中与应用内购买库相关的问题,您可以使用库的3.1.5版本。
在应用内购买库的最新版本3.1.7中,它内部依赖于版本为^0.3.0+8的in_app_purchase_android库。在此版本中,优惠令牌是强制性的,这可能导致无效优惠令牌的问题,无论您是否在Play商店中添加了令牌。
要避免这些问题,您可以专门使用in_app_purchase库的3.1.5版本。此版本不应具有强制性的报价令牌要求,可以帮助解决问题。
请确保使用依赖项部分下的以下行更新pubspec.yaml文件:

dependencies:
  in_app_purchase: 3.1.5

字符串
保存文件后,运行flutter pub get以获取指定版本的库并解决问题。
通过使用3.1.5版的in_app_purchase库,您应该能够避免与强制性offer令牌要求相关的问题。

svdrlsy4

svdrlsy42#

我建议使用从queryProductDetails返回的产品详细信息。我遇到了同样的问题,并解决了它。
下面是一个示例,请确保使用正确的产品ID进行更新。

Future<void> purchaseSubscription() async {
  final productDetailsResponse = await InAppPurchase.instance.queryProductDetails({YOUR_PRODUCT_ID});
  final productDetails = productDetailsResponse.productDetails.firstOrNull;

  if (productDetails != null) {
    final purchaseParam = PurchaseParam(productDetails: productDetails);
    await InAppPurchase.instance.buyNonConsumable(purchaseParam: purchaseParam);
  }
}

字符串

相关问题