Skip to content

Commit 6d0904c

Browse files
committed
feat: Added a way to clear a RevenueCat user cache.
1 parent f26f940 commit 6d0904c

File tree

3 files changed

+7
-0
lines changed

3 files changed

+7
-0
lines changed

lib/model/purchases/clients/client.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ abstract class RevenueCatClient {
8686

8787
/// Returns the user management URL.
8888
Future<String?> getManagementUrl();
89+
90+
/// Invalidates the user info.
91+
Future<void> invalidateUserInfo() => Future.value();
8992
}
9093

9194
/// Represents a purchasable item.

lib/model/purchases/clients/method_channel.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,7 @@ class RevenueCatMethodChannelClient extends RevenueCatClient {
8585
CustomerInfo customerInfo = await Purchases.getCustomerInfo();
8686
return customerInfo.managementURL;
8787
}
88+
89+
@override
90+
Future<void> invalidateUserInfo() => Purchases.invalidateCustomerInfoCache();
8891
}

lib/model/purchases/contributor_plan.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ class ContributorPlan extends AsyncNotifier<ContributorPlanState> {
8383
return const ResultCancelled();
8484
case PaywallResult.purchased:
8585
case PaywallResult.restored:
86+
await revenueCatClient.invalidateUserInfo();
8687
if (await revenueCatClient.hasEntitlement(AppContributorPlan.entitlementId)) {
8788
state = const AsyncData(ContributorPlanState.active);
8889
}

0 commit comments

Comments
 (0)