dart 应用购买中的抖动:“我们这边出现问题,请重试,”

ehxuflar  于 2023-03-21  发布在  其他
关注(0)|答案(1)|浏览(129)

我一辈子都搞不清楚出了什么问题。我正在使用in_app_purchase库,并试图购买一个非消耗品。我已经正确设置了许可证测试。一切看起来都很好,但当我购买时,我得到了一个错误:“我们这边出现问题。请重试。”(显然重试不会改变任何事情。)
下面是相关的代码片段,但不确定它是否有帮助,因为这可能是应用内购买产品的配置问题:

await InAppPurchase.instance.buyNonConsumable(
  purchaseParam: PurchaseParam(
    productDetails: productDetails!,
    applicationUserName: currentUserId,
  ),
);

知道可能是什么错误吗?也许是Play商店的配置问题?

axr492tv

axr492tv1#

原来applicationUserName字段需要完全混淆,不能是电子邮件地址(在我的例子中,用户ID是电子邮件地址--哎呀)。
请参见https:API.构建器#设置混淆账户ID(java.lang.字符串):
请勿使用此字段存储任何个人身份信息(PII),如明文形式的电子邮件。尝试在此字段中存储PII将导致购买被阻止。
一种修复方法是一起删除applicationUserName字段。
另一个方法(我将使用的方法)是对字段进行快速散列:

await InAppPurchase.instance.buyNonConsumable(
  purchaseParam: PurchaseParam(
    productDetails: productDetails!,
    applicationUserName: sha1.convert(utf8.encode(currentUserId)).toString(),
  ),
);

因此,如果你看到“我们这边出了问题”的错误,请仔细检查你没有因为发送谷歌东西是PII而被阻止购买。

相关问题