Skip to main content
Contracts for the encore_flutter plugin: the methods you call, the controller you implement, and the types they exchange. Every symbol on these pages is exported from package:encore_flutter/encore_flutter.dart.
Looking for integration guides?

Core methods

configure()

Initialize the SDK with your public API key, purchase controller, and unlock mode

identify()

Associate your user ID with Encore for cross-device tracking

setUserAttributes()

Merge structured attributes into the current user’s profile

reset()

Clear the user ID and attributes on logout

Presenting offers

placement()

Immutable builder for presenting offers, resolving to a result record

EncorePurchaseController

The controller your app registers so purchases run through your billing code

outcomes

Broadcast stream of every placement resolution, for passive observers

setClaimEnabled()

Dim and disable the claim button on offer cards at runtime

Types

EncoreUserAttributes

Every user attribute, its format, and an example value

EncorePresentationResult

The factual record a presentation resolves to

EncoreDismissReason

How a presented offer sheet went away

Error handling

Errors

Error values on the result record, and the platform exceptions the plugin can raise

Basic integration

show() never throws on iOS or Android. Failures arrive as EncoreNotPresented on the EncorePresentationResult, so fallback logic lives in one place.
For passive observation (analytics, logging, entitlement sync), listen to Encore.shared.outcomes once at startup instead of repeating the work at every call site.

Platform support

The plugin runs on iOS and Android only; it bridges to the native Encore SDKs over platform channels, and all offer UI renders natively. Calls on web or desktop throw MissingPluginException. See Errors.