getAlreadyPurchaseItems method
Listen for purchases
Implementation
void getAlreadyPurchaseItems(IAPCallback iapCallback) {
_iapCallback = iapCallback;
final Stream<List<PurchaseDetails>> purchaseUpdated = _connection.purchaseStream;
_subscription = purchaseUpdated.listen(
(purchaseDetailsList) {
if (purchaseDetailsList.isNotEmpty) {
purchaseDetailsList.sort((a, b) => a.transactionDate!.compareTo(b.transactionDate!));
if (purchaseDetailsList[0].status == PurchaseStatus.restored) {
getPastPurchases(purchaseDetailsList);
} else {
_listenToPurchaseUpdated(purchaseDetailsList);
}
}
},
cancelOnError: true,
onDone: () => _subscription?.cancel(),
onError: (error) {
log("Purchase stream error: $error");
handleError(error);
},
);
initStoreInfo();
}