rovenue_flutter library

Rovenue Flutter SDK — subscription, entitlement, and funnel client for the open-source Rovenue backend (RevenueCat/Adapty-style API).

This is the app-facing package of a federated plugin. It re-exports the shared Dart API defined in rovenue_flutter_platform_interface; the actual native work happens in the rovenue_flutter_ios and rovenue_flutter_android platform packages, which wrap the shared Rust core (librovenue) already used by the Swift and Kotlin SDKs.

Use the Rovenue.instance singleton. RovenueFunnelView hosts the native funnel renderer (SwiftUI on iOS, Android Views on Android) as a platform view — see src/funnel_view.dart.

There is no paywall API: placements serve funnels, drawn by RovenueFunnelView.

Classes

ClaimInstallParams
Optional device/install context passed to claimInstall. All fields are optional. Mirrors RvClaimInstallParams.
Discount
Mirrors RvDiscount / DiscountDTO.
Entitlement
A single granted (or expired) entitlement.
ExperimentAssignment
A subscriber's assignment into a running experiment. Mirrors RvExperimentAssignment / ExperimentAssignmentDTO.
FunnelClaim
The result of resolving a funnel token/deep link/clipboard token to a subscriber. Mirrors RvFunnelClaim.
IntroPrice
Mirrors RvIntroPrice / IntroPriceDTO.
Offering
A named group of RovenuePackages. Mirrors RvOffering / OfferingDTO.
Offerings
All configured Offerings plus which one is current. Mirrors RvOfferings / OfferingsDTO.
PricingPhase
A single phase of a subscription option's pricing schedule (e.g. a free trial phase followed by a full-price phase). Mirrors RvPricingPhase / PricingPhaseDTO.
PurchaseResult
The outcome of a successful purchase() or restorePurchases() call. Mirrors RvPurchaseResult / PurchaseResultDTO.
Rovenue
Rovenue's app-facing Dart API. Use the instance singleton.
RovenueChangeEvent
A native onChange event: something the SDK caches locally changed and the app should refresh its own view of it. Mirrors RvChangeEvent.
RovenueFunnelAction
An action the funnel's author defined for this app to interpret.
RovenueFunnelView
Hosts the native funnel renderer for placementIdentifier.
RovenueLogRecord
A single log line forwarded from the Rust core's log sink. Mirrors RvLogRecord / LogEntryDTO.
RovenuePackage
One purchasable package within an Offering. Mirrors RvPackage / PackageDTO.
RovenuePeriod
A billing period, e.g. "1 month". Mirrors RvPeriod / PeriodDTO.
RovenueUser
The current identified (or anonymous) subscriber.
StoreProduct
A purchasable store product. Mirrors RvStoreProduct / StoreProductDTO.
SubscriptionOption
An Android subscription offer (base plan + optional offer). Mirrors RvSubscriptionOption / SubscriptionOptionDTO.

Enums

DiscountType
Mirrors RvDiscountType / DiscountTypeDTO.
PackageType
Mirrors RvPackageType / PackageTypeDTO.
PaymentMode
Mirrors RvPaymentMode / PaymentModeDTO.
PeriodUnit
Mirrors RvPeriodUnit / PeriodUnitDTO.
ProductCategory
Mirrors RvProductCategory / ProductCategoryDTO.
ProductType
Subscription vs. one-time / consumable purchase.
RecurrenceMode
Mirrors RvRecurrenceMode / RecurrenceModeDTO.
RovenueChangeKind
Discriminant of a RovenueChangeEvent (native onChange payload).
RovenueErrorKind
The normalized error taxonomy shared across every Rovenue SDK façade.
RovenueLogLevel
Severity of a RovenueLogRecord, forwarded from the Rust core's log sink. Mirrors RvLogLevel.
SessionEventKind
The kind of app-lifecycle transition reported by recordSessionEvent.

Functions

extractFunnelToken(String url) → String?
Extract a funnel token from a deep link / Universal Link. Recognises:

Exceptions / Errors

RovenueException
The exception type every public Rovenue Flutter API throws. App code should catch this instead of PlatformException — the method channel layer never lets a raw PlatformException escape to callers.