registerPlacement()
A function that registers a placement that can be remotely configured to show a paywall and gate feature access.
Purpose
Registers a placement so that when it's added to a campaign on the Superwall Dashboard, it can trigger a paywall and optionally gate access to a feature.
Signature
Future<void> registerPlacement(
String placement, {
Map<String, Object>? params,
PaywallPresentationHandler? handler,
Function()? feature,
})
Future<void> registerPlacement(
String placement, {
Map<String, Object>? params,
PaywallPresentationHandler? handler,
})
Parameters
Name | Type | Description |
---|---|---|
placement | String | The name of the placement you wish to register. |
params | Map<String, Object>? | Optional parameters to pass with your placement. These can be referenced within campaign rules. Keys beginning with $ are reserved for Superwall and will be dropped. Nested maps and lists are currently unsupported and will be ignored. Defaults to null . |
handler | PaywallPresentationHandler? | A handler whose functions provide status updates for the paywall lifecycle. Defaults to null . |
feature | Function()? | A callback representing the gated feature. It is executed based on the paywall's gating mode: called immediately for Non-Gated, called after the user subscribes or if already subscribed for Gated. |
Returns / State
This function returns a Future<void>
. If you supply a feature
callback, it will be executed according to the paywall's gating configuration, as described above.
Usage
await Superwall.shared.registerPlacement(
"premium_feature",
params: {"source": "onboarding"},
feature: () {
// Code that unlocks the premium feature
openPremiumScreen();
},
);
await Superwall.shared.registerPlacement(
"onboarding_complete",
params: {"source": "onboarding"},
handler: myHandler,
);
How is this guide?