Skip to main content
Question

iOS - Full screen Paywall

  • September 25, 2025
  • 2 replies
  • 89 views

Forum|alt.badge.img

Hello everyone,
I am currently working on paywall and am having some difficulty displaying the paywall correctly. 

Currently, I display the paywall as follows:

ContentView()
.presentPaywallIfNeeded(
requiredEntitlementIdentifier: Constants.ENTITLEMENT_ID,
purchaseCompleted: { customerInfo in
[...]
},
restoreCompleted: { customerInfo in
[...]
}
)

However, it is displayed as a sheet dialog and can be easily closed. A paywall that can be easily closed is not a wall—it's just a door that can be kicked in :)

Now I can use the alternative: PaywallView. However, I now have to implement the logic myself to determine whether PaywallView should be displayed or not. Right?

Is there an SDK function that allows me to decide whether to display it or not, as with the sheet dialog? The documentation has no info about it.

I want the user to be unable to close the paywall. He has to pay or close the app, but the paywall must be impossible to overcome. And I need the verification to be encapsulated by the SDK. Is it possible?

 

best regards

 

This post has been closed for comments

2 replies

Forum|alt.badge.img
  • Author
  • New Member
  • September 25, 2025

ok I found this one:

let customerInfo = try await Purchases.shared.customerInfo()

if customerInfo.entitlements.active.isEmpty {
// show
} else {
// don't show
}

 


alejandra-wetsch
RevenueCat Staff
Forum|alt.badge.img+6

Hey ​@user432

Thank you for reaching out! 

You’re correct, using customerInfo and checking if entitlements are active is the right approach! For more information on checking user subscription states, please check this documentation.

Best,