一切都在 Android 上运行in_app_purchase
(https://pub.dev/packages/in_app_purchase)的新实现,但在 iOS 上我没有过去的购买。按照文档,我没有看到任何特别之处。
我的代码是:
final Stream<List<PurchaseDetails>> purchaseUpdated =
inAppPurchase.purchaseStream;
_subscription = purchaseUpdated.listen((purchaseDetailsList) {
if (purchaseDetailsList.isEmpty) {
Provider.of<AdState>(context, listen: false).toggleAds(context, true);
} else {
Provider.of<AdState>(context, listen: false)
.toggleAds(context, false);
this.purchases.addAll(purchaseDetailsList);
listenToPurchaseUpdated(purchaseDetailsList);
}
}, onDone: () {
_subscription.cancel();
}, onError: (error) {
// handle error here.
});
inAppPurchase.restorePurchases();
它只是不进去,如果我尝试购买相同的产品,我会收到此错误:
同一产品标识符有一个待处理的交易。请等待它完成或手动完成它
completePurchase
以避免边缘情况