【问题标题】:How I can know if the user cancel the subscription or not?我如何知道用户是否取消订阅?
【发布时间】:2019-10-10 06:46:41
【问题描述】:

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

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

但它总是返回“false”

【问题讨论】:

    标签: flutter in-app-purchase


    【解决方案1】:

    您可以使用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);
        }
    });
      }
    

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      猜你喜欢
      • 2014-11-18
      • 2012-03-11
      • 1970-01-01
      • 2017-08-16
      • 1970-01-01
      • 2019-07-23
      • 2021-03-16
      • 1970-01-01
      相关资源
      最近更新 更多