Flutter in_app_purchase: поток покупок не выдается на iOS, когда пользователь отменяет платежный листIOS

Программируем под IOS
Anonymous
Flutter in_app_purchase: поток покупок не выдается на iOS, когда пользователь отменяет платежный лист

Сообщение Anonymous »

Я использую пакет in_app_purchase во Flutter. У меня следующая настройка:
Инициация покупки:

Код: Выделить всё

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

Вернуться в «IOS»