【发布时间】:2019-10-10 06:46:41
【问题描述】:
我已经在我的 Flutter 应用中成功实现了 IAP!我的问题是如何知道用户是否取消订阅?
我尝试过: 等待 FlutterInappPurchase.checkSubscribed();
但它总是返回“false”
【问题讨论】:
我已经在我的 Flutter 应用中成功实现了 IAP!我的问题是如何知道用户是否取消订阅?
我尝试过: 等待 FlutterInappPurchase.checkSubscribed();
但它总是返回“false”
【问题讨论】:
您可以使用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);
}
});
}
订阅流将监听应用中订阅的更新。
【讨论】:
您需要使用实时开发者通知。它使用 Google PubSub 在订阅更新或取消时将信息发送到您的端点。它可以在 Play 商店控制台中轻松配置。
https://developer.android.com/google/play/billing/billing_subscriptions#Handle-states
【讨论】: