Most of the time you’ll want to use presentPayall() (or presentUpsell() depending on your SDK version) to show paywalls. This approach is covered in each platform’s quickstart guide (see navigation menu on the left). But if you need more control over how and where paywalls appear in your app, there are a few other options.
HeliumPaywall( trigger: "onboarding") { paywallNotShownReason in Text("Paywall failed to show")}
You’ll need to handle dismissal yourself when using this method. You can do so with PaywallEventHandlers.
Example with PaywallEventHandlers
Copy
Ask AI
HeliumPaywallView( trigger: "post_onboarding", eventHandlers: PaywallEventHandlers() .onOpen { event in print("open for trigger \(event.triggerName)") } .onClose { event in print("close for trigger \(event.triggerName)") } .onDismissed { event in // handle user dismissal here (i.e. navigate to another screen) print("dismiss for trigger \(event.triggerName)") } .onPurchaseSucceeded { event in print("purchase made for trigger \(event.triggerName)") } .onCustomPaywallAction { event in print("Custom action: \(event.actionName) with params: \(event.params)") }) { paywallNotShownReason in Text("Paywall failed to show")}