Paywall
constructor(databaseId: String, identifier: PaywallIdentifier, name: String, url: PaywallURL, htmlSubstitutions: String, presentationStyle: String?, expandedPresentationStyle: PaywallPresentationStyle?, presentationDelay: Long, presentationCondition: String, presentation: PaywallPresentationInfo = PaywallPresentationInfo(
style =
expandedPresentationStyle
?: PaywallPresentationStyle.None.also {
Logger.debug(
LogLevel.warn,
LogScope.paywallPresentation,
"Unknown or unsupported presentation style: $presentationStyle",
)
},
delay = presentationDelay,
), backgroundColorHex: String, darkBackgroundColorHex: String? = null, _products: List<ProductItem> = emptyList(), _productItemsV3: List<CrossplatformProduct> = emptyList(), _productItems: List<ProductItem> = emptyList(), productIds: List<String> = _productItems.map { it.compositeId }.ifEmpty {
_productItemsV3.map { it.fullProductId }
}, responseLoadingInfo: Paywall.LoadingInfo = LoadingInfo(), webviewLoadingInfo: Paywall.LoadingInfo = LoadingInfo(), productsLoadingInfo: Paywall.LoadingInfo = LoadingInfo(), shimmerLoadingInfo: Paywall.LoadingInfo = LoadingInfo(), productVariables: List<ProductVariable>? = null, swProductVariablesTemplate: List<ProductVariable>? = null, paywalljsVersion: String? = null, isFreeTrialAvailable: Boolean = false, presentationSourceType: String? = null, featureGating: FeatureGatingBehavior = FeatureGatingBehavior.NonGated, computedPropertyRequests: List<ComputedPropertyRequest> = emptyList(), localNotifications: List<LocalNotification> = emptyList(), onDeviceCache: OnDeviceCaching = OnDeviceCaching.Disabled, experiment: Experiment? = null, closeReason: PaywallCloseReason = PaywallCloseReason.None, state: Map<String, Any> = emptyMap(), urlConfig: PaywallWebviewUrl.Config? = null, cacheKey: CacheKey, buildId: String, surveys: List<Survey> = emptyList(), isScrollEnabled: Boolean? = true, rerouteBackButton: Paywall.ToggleMode? = null)(source)