Инициация покупки:
Код: Выделить всё
await InAppPurchase.instance.buyNonConsumable(purchaseParam: purchaseParam,);Код: Выделить всё
InAppPurchase.instance.purchaseStream.listen(
_onPurchaseUpdate,
onDone: _onStreamDone,
onError: _onError,
);
Код: Выделить всё
Future _onPurchaseUpdate(
List
purchaseDetailsList,
) async {
for (final purchaseDetails in purchaseDetailsList) {
await _handlePurchase(purchaseDetails);
}
}
Код: Выделить всё
/// Handles a single purchase update.
Future _handlePurchase(PurchaseDetails purchaseDetails) async {
switch (purchaseDetails.status) {
case PurchaseStatus.purchased:
// do some work
case PurchaseStatus.restored:
// do some work
case PurchaseStatus.error:
// do some work
case PurchaseStatus.canceled:
// do some work
case PurchaseStatus.pending:
// do some work
}
}
- Я открываю приложение на iOS.
- Я запускаю процесс покупки.
- Появляется лист оплаты iOS.
- Пользователь отменяет лист оплаты.
- Поток покупок ничего не генерирует.
- Загрузчик, который я показываю в своем приложении, когда инициирую процесс покупки, остается зависшим навсегда. потому что
Я не знаю, что покупка была отменена.
Как узнать, была ли покупка отменена?
Подробнее здесь: https://stackoverflow.com/questions/798 ... -cancels-p
Мобильная версия