presentPaywall static method
Future<PaywallResult>
presentPaywall({
- Offering? offering,
- bool displayCloseButton = false,
- Map<
String, CustomVariableValue> ? customVariables,
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.
Implementation
static Future<PaywallResult> presentPaywall({
Offering? offering,
bool displayCloseButton = false,
Map<String, CustomVariableValue>? customVariables,
}) async {
final presentedOfferingContext = offering?.availablePackages
.elementAtOrNull(0)
?.presentedOfferingContext;
final result = await _methodChannel.invokeMethod('presentPaywall', {
'offeringIdentifier': offering?.identifier,
'presentedOfferingContext': presentedOfferingContext?.toJson(),
'displayCloseButton': displayCloseButton,
'customVariables': convertCustomVariablesToStrings(customVariables),
});
return _parseStringToResult(result);
}