RovenueFunnelView class

Hosts the native funnel renderer for placementIdentifier.

The funnel fills whatever space the parent gives it; size it with a SizedBox/Expanded/etc.

Updating a live widget instance

placementIdentifier and locale are live-updatable: changing either on an existing instance (same Key) sends an updateParams call over the view's per-instance method channel (dev.rovenue.flutter/funnel_view_<viewId>) and the native side re-resolves. Re-resolving restarts the funnel at its first screen — a new resolve builds a new driver — so change these two only when you mean to start a different funnel.

Whether onUrl is present is decided when the funnel resolves, because its absence changes what the SDK does (a terms link then opens an http(s) address in the system browser). Removing onUrl later takes effect at once, with no restart: URLs stop reaching your code. Adding one later takes effect only on the next resolve (a placementIdentifier or locale change). Swapping any callback closure's identity is picked up automatically, since build always re-reads widget.onXxx.

Inheritance

Constructors

RovenueFunnelView({Key? key, required String placementIdentifier, String? locale, VoidCallback? onFinished, void onUrl(String url)?, void onCustomAction(RovenueFunnelAction action)?, void onPurchase(String url)?, VoidCallback? onRestore, void onError(RovenueException error)?})
Creates a funnel view for placementIdentifier.
const

Properties

hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
locale → String?
BCP-47 tag the funnel's copy is resolved in. Null follows the device.
final
onCustomAction → void Function(RovenueFunnelAction action)?
An action the funnel's author defined for this app to interpret.
final
onError → void Function(RovenueException error)?
The funnel could not be resolved. The view stays empty.
final
onFinished → VoidCallback?
The funnel reached its end, or was dismissed. Fires at most once.
final
onPurchase → void Function(String url)?
The funnel wants this package purchased. Call Rovenue.purchase.
final
onRestore → VoidCallback?
The funnel asked for purchases to be restored.
final
onUrl → void Function(String url)?
Omit to leave open_url actions INERT; a legal block's terms link then opens only an http(s) address, in the system browser. Presence is sent as hasUrlHandler and decided when the funnel resolves.
final
placementIdentifier → String
The placement to resolve. A placement that holds no funnel draws nothing here.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<RovenueFunnelView>
The state that owns this view's per-instance method channel.
override
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited