我已经成功地在Flutter应用中实现了IAP!我的问题是如何知道用户是否取消订阅?
我尝试过: 等待FlutterInappPurchase.checkSubscribed();
但是它总是返回“ false”
答案 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);
}
});
}
订阅流将监听应用中订阅的更新。