我怎么知道用户是否取消订阅?

时间:2019-05-23 16:30:54

标签: flutter in-app-purchase

我已经成功地在Flutter应用中实现了IAP!我的问题是如何知道用户是否取消订阅?

我尝试过: 等待FlutterInappPurchase.checkSubscribed();

但是它总是返回“ false”

2 个答案:

答案 0 :(得分:0)

您需要使用实时开发人员通知。它使用Google PubSub在订阅更新或取消时将信息发送到您的端点。可以在Play商店控制台中轻松配置它。

https://developer.android.com/google/play/billing/billing_subscriptions#Handle-states

答案 1 :(得分:0)

您可以使用 await InAppPurchase.instance.restorePurchases(); 恢复当前购买。一旦用户取消或暂停其订阅,该产品将不再出现在恢复的产品列表中。

这正是我所做的。

 final purchasedUpdated = InAppPurchase.instance.purchaseStream;
    StreamSubscription<List<PurchaseDetails>> _subscription = purchasedUpdated.listen(_onPurchasedUpdated);
await InAppPurchase.instance.restorePurchases();

后来,

     void _onPurchasedUpdated(List<PurchaseDetails> purchaseDetailsList) {
    purchaseDetailsList.forEach((purchaseDetails){
if (purchaseDetails.status == PurchaseStatus.restored) {
      print(purchaseDetails.productID);
    }
});
  }

订阅流将监听应用中订阅的更新。