您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Flutter in_app_purchase queryPastPurchases()在iOS上返回空列表

Flutter in_app_purchase queryPastPurchases()在iOS上返回空列表

原来代码没有错。

为了使其工作,我必须创建一个沙箱用户。然后,我不得不从手机上当前登录的AppID中注销。然后,我必须在Xcode中从发布到调试使用“编辑方案”。然后我在终端运行了“ Flutter run”。然后,我购买了NonConsumable订阅,然后在对话框中,必须输入沙盒用户的电子邮件和密码。

此外,我还必须在App Store Connect中创建一个全新的订阅,因为原始订阅处于无法购买或购买的状态。这是由于completePurchase在我的代码中的错误位置进行了操作。它不应该在中完成_getPastPurchases(),而是在实际的购买逻辑中完成。

所以放在completePurchase这里:

_subscription = _iap.purchaseUpdatedStream.listen((data) => setState(() {
    _purchases.addAll(data);
    for(PurchaseDetails purchase in _purchases){
        if(purchase.productID == 'subName'){
            //SOLUTION
            if (Platform.isIOS) {
                InAppPurchaseConnection.instance.completePurchase(purchase);
            }
        }
    }   
}));

PS:我不记得我是否在for循环中或外部有completePurchse …

其他 2022/1/1 18:17:28 有454人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶