Restore purchases in mobile app in Android SDK
Restoring Purchases is a feature that allows users to regain access to previously purchased content, such as subscriptions or in-app purchases, without being charged again. This feature is especially useful for users who may have uninstalled and reinstalled the app or switched to a new device and want to access their previously purchased content without paying again.
If you built the screen in a builder, you don’t need to restore purchases manually. Wire its restore control — the Restore purchases action in the Flow & Paywall Builder, or a restore link or button in the old one — and the SDK completes the restore.
If you built the screen yourself, call the .restorePurchases() method:
Response parameters:
| Parameter | Description |
|---|---|
| Profile | An Сheck the access level status to determine whether the user has access to the app. |
Starting with Adapty Android SDK 3.17.3 and 4.0.2, restorePurchases() completes successfully even when there is nothing to restore: it returns the current profile, so check the access level status in it. In earlier SDK versions, the method fails with the NO_PURCHASES_TO_RESTORE error in this case.
What can be restored
restorePurchases recovers active subscriptions and non-consumed one-time purchases from Google Play.
Starting with Adapty Android SDK 3.17.3 and 4.0.2, which use Google Play Billing Library 8, the Play Store no longer returns expired subscriptions or consumed one-time purchases. To let users recover those across devices and reinstalls, identify them with Adapty.identify. Adapty then restores the purchase history from its backend instead of from the store.
Google Play reports only currently owned purchases, so restorePurchases() can’t find subscriptions that expired before you integrated Adapty. To add them to Adapty, import your historical data.
Want to see a real-world example of how Adapty SDK is integrated into a mobile app? Check out our sample apps, which demonstrate the full setup, including displaying paywalls, making purchases, and other basic functionality.