Presents the paywall as an activity on android or a modal in iOS.
Returns a PaywallResult indicating the result of the paywall presentation.
@param offering If set, will present the paywall associated to the given Offering.
@param displayCloseButton Optionally present the paywall with a close button. Only available for original template paywalls. Ignored for V2 Paywalls.
@param customVariables A map of custom variable names to their values. These values can be used for text substitution in paywalls using the {{ custom.variable_name }} syntax.
@param presentationConfiguration Optional configuration for how the paywall is presented on each platform.
@param onPurchaseStarted Called when a purchase is started.
@param onPurchaseCompleted Called when a purchase is completed.
@param onPurchaseCancelled Called when a purchase is cancelled.
@param onPurchaseError Called when a purchase fails.
@param onRestoreCompleted Called when a restore completes, even if no entitlements were granted.
@param onRestoreError Called when a restore fails.
@param onWebCheckoutOpened Called when the user leaves the app for web checkout.
@param onUrlOpened Called when the paywall opens a URL. Not called for web checkout URLs.
@param onInteraction Called when the user interacts with a paywall control (tab, package,
purchase button, ...), with the paywall_component_interacted event as a map of snake_case
keys; keys that do not apply are absent.
Presents the paywall as an activity on android or a modal in iOS as long
as the user does not have the given entitlement identifier active.
Returns a PaywallResult indicating the result of the paywall presentation.