在我的项目中,我想监听用户是否购买了某件商品。我的出发点是这样的:
我使用“应用内购买”包。
final InAppPurchase iap = InAppPurchase.instance;
await iap.restorePurchases();
iap.purchaseStream.listen((purchases){
...
}
我的问题是:如果用户关闭互联网连接并在一段时间后再次激活它,会发生什么情况。“purchaseStream”会继续监听吗?还是我需要再次触发它?
按照 Flutter 中流的工作方式,当用户断开互联网连接(有意或无意)时,流仍然处于活动状态。当用户的连接恢复时,此时流会重新连接(恢复)并从那一刻开始发出新值。您可以随时获取以前的购买记录(启动应用程序时、重新连接时等),它将被您的
InAppPurchase.purchaseStream
文档中写道:“恢复的购买将在 InAppPurchase.purchaseStream 上发出。请确保按照每个底层商店的最佳做法验证恢复的购买:…”
https://pub.dev/packages/in_app_purchase#retoring-previous-purchases