Восстановление покупок в мобильном приложении с Flutter SDK

Восстановление покупок в iOS и Android — это функция, которая позволяет пользователям восстановить доступ к ранее приобретённому контенту (подпискам или встроенным покупкам) без повторного списания средств. Она особенно полезна для тех, кто переустановил приложение или перешёл на новое устройство и хочет получить доступ к ранее купленному контенту без повторной оплаты.

Note

Если экран создан в билдере, восстанавливать покупки вручную не нужно. Подключите соответствующий элемент управления — действие Restore purchases во Flow & Paywall Builder или кнопку/ссылку восстановления в старом — и SDK выполнит восстановление самостоятельно.

Если экран написан вручную, вызовите метод .restorePurchases():

try {
  final profile = await Adapty().restorePurchases();
  if (profile?.accessLevels['YOUR_ACCESS_LEVEL']?.isActive ?? false) {
        // successful access restore      
  }
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
}

Параметры ответа:

ПараметрОписание
Profile

Объект AdaptyProfile. Эта модель содержит информацию об уровнях доступа, подписках и разовых покупках.

Проверьте статус уровня доступа, чтобы определить, есть ли у пользователя доступ к приложению.

Info

В Adapty Flutter SDK 4.0.4 и выше restorePurchases() успешно завершается даже если нечего восстанавливать: метод возвращает текущий профиль, поэтому проверьте в нём статус уровня доступа. В более ранних версиях SDK метод завершается ошибкой noPurchasesToRestore на Android в этом случае.

Tip

Хотите увидеть реальный пример интеграции Adapty SDK в мобильное приложение? Посмотрите наши примеры приложений, которые демонстрируют полную настройку, включая отображение пейволов, совершение покупок и другую базовую функциональность.