# Encore - [Welcome](https://docs.encorekit.com/index.md): Increase your app's ARPU with premium brand offers: real perks, funded by brands, presented at the moments your users care about most. - [Get Started with Encore](https://docs.encorekit.com/quickstart.md): Create your Encore account, add your app, and present your first reward offer with the Dashboard's guided setup. - [Reward Placements](https://docs.encorekit.com/publishers/guides/reward-placements.md): Reward a user in your iOS, Android, React Native, or Flutter app the moment they finish something worth celebrating, with copy you set per call. - [Reward for Trying](https://docs.encorekit.com/publishers/guides/reward-for-trying.md): Promise your own prize for trying a premium brand offer, priced per offer, and paid on the user's Yes or the brand's confirmation. - [Trigger components](https://docs.encorekit.com/publishers/triggers/overview.md): Small Encore entries you place in your own screens that open the reward sheet, with looks Encore changes and tests without an app update. - [Trigger components quickstart](https://docs.encorekit.com/publishers/triggers/quickstart.md): Add a Gifts Button and a Claim Reminder to your app on iOS, Android, React Native, Flutter, or the web. - [Release checklist](https://docs.encorekit.com/publishers/triggers/release-checklist.md): Everything to set up before you ship a Gifts Button and a Claim Reminder, in order, with a list to check before release. - [Gifts Button](https://docs.encorekit.com/publishers/triggers/gifts-button.md): A trigger component that shows a gift entry at a reward moment and opens the reward sheet when the user taps it. - [Claim Reminder](https://docs.encorekit.com/publishers/triggers/claim-reminder.md): A trigger component that reminds users of the newest premium brand offer they claimed but haven't finished, and opens the reward sheet that lists it. - [Build your own button](https://docs.encorekit.com/publishers/triggers/custom-ui.md): Draw your own gifts button or claim reminder while Encore decides what it shows, counts its views and taps, and opens the reward sheet. - [Experiments and looks](https://docs.encorekit.com/publishers/triggers/experiments.md): How Encore picks and tests a trigger component's look, and what that means for your screens and your numbers. - [Troubleshooting trigger components](https://docs.encorekit.com/publishers/triggers/troubleshooting.md): Find out why a Gifts Button or Claim Reminder isn't showing, how to test trigger components while you build, and answers to common questions. - [Reward Users](https://docs.encorekit.com/publishers/use-cases/post-action-reward.md): Congratulate a user who just completed a purchase, streak, or milestone with a brand-funded reward, at a moment your app already owns. - [Reduce Churn](https://docs.encorekit.com/publishers/use-cases/churn-intervention.md): Recover revenue from users about to walk away: a premium brand offer offsets their subscription cost, funded by the brand. - [Localization](https://docs.encorekit.com/publishers/concepts/localization.md): How Encore picks each user's language, which copy it translates, which copy stays yours, and how to check what was served. - [Install the SDK](https://docs.encorekit.com/publishers/ios/quickstart/install.md): Add the Encore Swift SDK to your iOS project via Swift Package Manager. - [Configure the SDK](https://docs.encorekit.com/publishers/ios/quickstart/configure.md): Initialize the Encore SDK with your API key at app launch. - [User Management](https://docs.encorekit.com/publishers/ios/quickstart/user-management.md): Identifying users, setting attributes, and managing identity in your iOS app. - [Presenting Offers](https://docs.encorekit.com/publishers/ios/quickstart/present-offers.md): Present Encore's reward sheet at a moment your user just earned, or a Reduce Churn sheet in a cancel flow, and branch on the result. - [Configure Analytics](https://docs.encorekit.com/publishers/ios/quickstart/configure-analytics.md): Forward App Store subscription events to Encore so your dashboard can measure offer impact. - [App Store Subscription Product](https://docs.encorekit.com/publishers/ios/platform-setup/subscription-product.md): Connect your App Store Connect catalog and pick, or create, the subscription product Encore offers. - [App Store Server Notifications](https://docs.encorekit.com/publishers/ios/platform-setup/server-notifications.md): Point Apple's subscription lifecycle webhooks at Encore so your dashboard can track subscription events and measure offer impact. - [Create a Promotional Offer](https://docs.encorekit.com/publishers/ios/platform-setup/create-promotional-offer.md): Create a promotional offer in App Store Connect and link it in Encore so churn-moment offers carry a discounted or free period. - [Integration Patterns](https://docs.encorekit.com/publishers/ios/guides/integration-patterns.md): How to consume Encore offer results in Swift, at the call site and in passive observers. - [Add Subscription Product](https://docs.encorekit.com/publishers/ios/guides/add-subscription-product.md): Pick the App Store subscription Encore purchases when a user accepts an offer. - [Present Offers with Superwall](https://docs.encorekit.com/publishers/ios/guides/managers/superwall/present-offers.md): Trigger an Encore placement from a Superwall paywall dismissal or a custom paywall action. - [Add Subscription Product with Superwall](https://docs.encorekit.com/publishers/ios/guides/managers/superwall/add-subscription-product.md): Add the product to Superwall, then let Superwall observe the App Store purchase your controller makes. - [Configure Analytics with Superwall](https://docs.encorekit.com/publishers/ios/guides/managers/superwall/configure-analytics.md): Point Superwall's webhook at Encore so your subscription events reach it without App Store Server Notifications. - [Present Offers with RevenueCat](https://docs.encorekit.com/publishers/ios/guides/managers/revenuecat/present-offers.md): Trigger an Encore placement from a RevenueCat paywall dismissal. - [Add Subscription Product with RevenueCat](https://docs.encorekit.com/publishers/ios/guides/managers/revenuecat/add-subscription-product.md): Route the purchase Encore requests through RevenueCat, or let RevenueCat observe a StoreKit 2 purchase. - [Configure Analytics with RevenueCat](https://docs.encorekit.com/publishers/ios/guides/managers/revenuecat/configure-analytics.md): Forward RevenueCat's subscription events to Encore instead of wiring App Store Server Notifications. - [Add Subscription Product with Adapty](https://docs.encorekit.com/publishers/ios/guides/managers/adapty/add-subscription-product.md): Route the purchase Encore requests through Adapty, or report a StoreKit 2 purchase to it. - [Configure Analytics with Adapty](https://docs.encorekit.com/publishers/ios/guides/managers/adapty/configure-analytics.md): Keep both Adapty and Encore receiving App Store Server Notifications when they compete for the same URL. - [Add Subscription Product with Qonversion](https://docs.encorekit.com/publishers/ios/guides/managers/qonversion/add-subscription-product.md): Route the purchase Encore requests through Qonversion, and give the product an entitlement so it unlocks something. - [Configure Analytics with Qonversion](https://docs.encorekit.com/publishers/ios/guides/managers/qonversion/configure-analytics.md): Keep both Qonversion and Encore receiving App Store Server Notifications when they compete for the same URL. - [Using Multiple Managers](https://docs.encorekit.com/publishers/ios/guides/managers/multiple-managers.md): Route Encore purchase requests across several subscription managers and merge their entitlements into one flag. - [Routine updates](https://docs.encorekit.com/publishers/ios/guides/updating-sdk.md): How to update the Encore SDK and how its versioning works. - [Updating to 2.x](https://docs.encorekit.com/publishers/ios/guides/updating-to-2-x.md): Step-by-step migration guide for upgrading the Encore iOS SDK from 1.x to 2.x. - [Overview](https://docs.encorekit.com/publishers/ios/sdk-reference/overview.md): Complete reference documentation for the Encore iOS SDK - [configure()](https://docs.encorekit.com/publishers/ios/sdk-reference/configure.md): Initialize the Encore SDK with your public API key - [identify()](https://docs.encorekit.com/publishers/ios/sdk-reference/identify.md): Associate your user ID with Encore - [setUserAttributes()](https://docs.encorekit.com/publishers/ios/sdk-reference/set-user-attributes.md): Set custom attributes for targeting and analytics - [setLanguage()](https://docs.encorekit.com/publishers/ios/sdk-reference/set-language.md): Set the language Encore serves copy in, overriding the device language until you clear it - [clearLanguage()](https://docs.encorekit.com/publishers/ios/sdk-reference/clear-language.md): Remove the language set with setLanguage() so Encore copy follows the device language again - [reset()](https://docs.encorekit.com/publishers/ios/sdk-reference/reset.md): Clear user identification and cached entitlements - [isActive()](https://docs.encorekit.com/publishers/ios/sdk-reference/is-active.md): Asynchronously check if an entitlement is currently active with automatic smart refresh - [isActivePublisher()](https://docs.encorekit.com/publishers/ios/sdk-reference/is-active-publisher.md): Reactive entitlement state updates using Combine - [placement()](https://docs.encorekit.com/publishers/ios/sdk-reference/placement.md): Create and present Encore offers with a fluent API - [EncorePurchaseController](https://docs.encorekit.com/publishers/ios/sdk-reference/purchase-controller.md): The purchase controller your app registers so Encore offers purchase through your billing code - [outcomes](https://docs.encorekit.com/publishers/ios/sdk-reference/outcomes.md): AsyncStream of every placement resolution, for passive observers - [isClaimEnabled](https://docs.encorekit.com/publishers/ios/sdk-reference/is-claim-enabled.md): Runtime switch that dims the claim CTA on offer cards and stops it responding to taps - [revokeEntitlements()](https://docs.encorekit.com/publishers/ios/sdk-reference/revoke-entitlements.md): Admin/testing method to expire all entitlements while preserving user identity - [UserAttributes](https://docs.encorekit.com/publishers/ios/sdk-reference/user-attributes.md): Structured user attributes for targeting and analytics - [PresentationResult](https://docs.encorekit.com/publishers/ios/sdk-reference/presentation-result.md): The factual record a placement presentation resolves to - [Entitlements](https://docs.encorekit.com/publishers/ios/sdk-reference/entitlements.md): Types of rewards granted when users accept offers - [EntitlementScope](https://docs.encorekit.com/publishers/ios/sdk-reference/entitlement-scope.md): Control which entitlements to check, and understand provisional vs verified grants - [DismissReason](https://docs.encorekit.com/publishers/ios/sdk-reference/dismiss-reason.md): How a presented offer sheet went away - [Errors](https://docs.encorekit.com/publishers/ios/sdk-reference/errors.md): EncoreError values carried on presentation results and thrown by throwing APIs - [Install the SDK](https://docs.encorekit.com/publishers/android/quickstart/install.md): Add the Encore Android SDK to your project via Gradle. - [Configure the SDK](https://docs.encorekit.com/publishers/android/quickstart/configure.md): Initialize the Encore SDK with your API key at app launch. - [User Management](https://docs.encorekit.com/publishers/android/quickstart/user-management.md): Identifying users, setting attributes, and managing identity in your Android app. - [Presenting Offers](https://docs.encorekit.com/publishers/android/quickstart/present-offers.md): Present Encore's reward sheet at a moment your user just earned, or a Reduce Churn sheet in a cancel flow, in your Android app. - [Configure Analytics](https://docs.encorekit.com/publishers/android/quickstart/configure-analytics.md): Forward Google Play subscription events to Encore so your dashboard can measure offer impact. - [Google Play Subscription Product](https://docs.encorekit.com/publishers/android/platform-setup/subscription-product.md): Connect your Google Play catalog and pick, or create, the subscription product Encore offers. - [Real-Time Developer Notifications](https://docs.encorekit.com/publishers/android/platform-setup/server-notifications.md): Point Google Play's subscription lifecycle notifications at Encore so your dashboard can track subscription events and measure offer impact. - [Integration Patterns](https://docs.encorekit.com/publishers/android/guides/integration-patterns.md): How to wire Encore offer results into your Kotlin app: awaiting the result, the callback form, and the outcomes stream. - [Add Subscription Product](https://docs.encorekit.com/publishers/android/guides/add-subscription-product.md): Pick the Google Play subscription your purchase controller buys when a user accepts an offer. - [Routine updates](https://docs.encorekit.com/publishers/android/guides/updating-sdk.md): How to update the Encore Android SDK and how its versioning works. - [Updating to 2.x](https://docs.encorekit.com/publishers/android/guides/updating-to-2-x.md): Step-by-step migration guide for upgrading the Encore Android SDK from 1.x to 2.x. - [Overview](https://docs.encorekit.com/publishers/android/sdk-reference/overview.md): Complete reference documentation for the Encore Android SDK - [configure()](https://docs.encorekit.com/publishers/android/sdk-reference/configure.md): Initialize the Encore SDK with your public API key, purchase controller, and unlock mode - [identify()](https://docs.encorekit.com/publishers/android/sdk-reference/identify.md): Associate your user ID with Encore - [setUserAttributes()](https://docs.encorekit.com/publishers/android/sdk-reference/set-user-attributes.md): Set custom attributes for targeting and analytics - [setLanguage()](https://docs.encorekit.com/publishers/android/sdk-reference/set-language.md): Set the language Encore serves copy in, overriding the device language until you clear it - [clearLanguage()](https://docs.encorekit.com/publishers/android/sdk-reference/clear-language.md): Remove the language set with setLanguage() so Encore copy follows the device language again - [reset()](https://docs.encorekit.com/publishers/android/sdk-reference/reset.md): Clear user identification and cached entitlements - [EncorePurchaseController](https://docs.encorekit.com/publishers/android/sdk-reference/purchase-controller.md): The single purchase path: your billing code, invoked by the SDK - [placement()](https://docs.encorekit.com/publishers/android/sdk-reference/placement.md): Present Encore offers to users via a fluent builder API - [PresentationResult](https://docs.encorekit.com/publishers/android/sdk-reference/presentation-result.md): The complete factual record of a placement presentation - [DismissReason](https://docs.encorekit.com/publishers/android/sdk-reference/dismiss-reason.md): How a presented offer sheet went away - [Encore.outcomes](https://docs.encorekit.com/publishers/android/sdk-reference/outcomes.md): Passive stream of every placement outcome - [UserAttributes](https://docs.encorekit.com/publishers/android/sdk-reference/user-attributes.md): Structured user attributes for targeting and analytics - [EncoreError](https://docs.encorekit.com/publishers/android/sdk-reference/errors.md): EncoreError values carried on presentation results: the four categories and how to read them - [Install the SDK](https://docs.encorekit.com/publishers/web/quickstart/install.md): Add the Encore Web SDK (@encorekit/web-sdk) to your JavaScript or TypeScript project via npm, yarn, pnpm, or the UMD script bundle. - [Configure the SDK](https://docs.encorekit.com/publishers/web/quickstart/configure.md): Initialize the Encore Web SDK with configure(), and where to call it in each framework. - [User Management](https://docs.encorekit.com/publishers/web/quickstart/user-management.md): How the Encore Web SDK handles identity: anonymous ids, identify(), attributes, and reset(). - [Present Offers](https://docs.encorekit.com/publishers/web/quickstart/present-offers.md): Get your first reward placement live on web: present Encore's reward sheet and handle each result. - [Configure Analytics](https://docs.encorekit.com/publishers/web/quickstart/configure-analytics.md): Forward your subscription events to Encore with one stable customer id so it can measure offer impact. - [Web Integration Patterns](https://docs.encorekit.com/publishers/web/guides/integration-patterns.md): How to structure Encore offer calls in web app code, and branch on the result. - [Hosted Offer Page (No SDK)](https://docs.encorekit.com/publishers/web/guides/hosted-offer-page.md): Present Encore offers inside a plain webview with no SDK installed, using a URL your app opens and a check your backend makes. - [React](https://docs.encorekit.com/publishers/web/frameworks/react.md): Integrate the Encore Web SDK in a React app with EncoreProvider and useEncore(). - [Vue](https://docs.encorekit.com/publishers/web/frameworks/vue.md): Integrate the Encore Web SDK in a Vue 3 app: configure() in the root component's onMounted, identify() on login, show() from event handlers. - [Svelte](https://docs.encorekit.com/publishers/web/frameworks/svelte.md): Integrate the Encore Web SDK in a Svelte app: configure() in the root component's onMount, identify() on login, show() from event handlers. - [Angular](https://docs.encorekit.com/publishers/web/frameworks/angular.md): Integrate the Encore Web SDK in an Angular app: a root-provided service that wraps configure()/identify()/show(), initialized once at startup. - [Vanilla JavaScript](https://docs.encorekit.com/publishers/web/frameworks/vanilla-js.md): Integrate the Encore Web SDK without a build system: load the UMD bundle via a script tag (global Encore, unwrap with Encore.default), then configure()/identify()/show(). - [Post-Purchase Placements](https://docs.encorekit.com/publishers/web/guides/post-purchase-placements.md): Reward a user the moment they accomplish something, with copy you set per call. - [Reduce Churn at the Paywall](https://docs.encorekit.com/publishers/web/guides/intercept-paywall-abandonment.md): Recover a user who abandons your paywall with a premium brand offer that unlocks a better-than-standard deal on your product. - [Using RevenueCat](https://docs.encorekit.com/publishers/web/guides/managers/revenuecat.md): Let RevenueCat's webhook carry your subscription events to Encore instead of forwarding them yourself. - [Advanced UI](https://docs.encorekit.com/publishers/web/guides/advanced-ui.md): Restyle the offer sheet with theme colors, or replace the reward sheet's headline and buttons with your own elements: the full appearance contract on PlacementOptions. - [Routine updates](https://docs.encorekit.com/publishers/web/guides/updating-sdk.md): How to update the Encore Web SDK and how its versioning works. - [Updating to 2.x](https://docs.encorekit.com/publishers/web/guides/updating-to-2-x.md): Migrate an Encore Web SDK integration from 1.x to 2.x, step by step. - [The Claim Flow](https://docs.encorekit.com/publishers/web/concepts/claim-flow.md): When the advertiser opens after a Web SDK claim, by use case, and what the claimed result carries. - [Sheet Variants](https://docs.encorekit.com/publishers/web/concepts/sheet-variants.md): Which sheet a Web SDK placement draws when Encore serves a variant, and which of your appearance and copy options it honors. - [Overview](https://docs.encorekit.com/publishers/web/sdk-reference/overview.md): Reference map for the Encore Web SDK public API: configure(), identify()/setUserAttributes()/reset(), show()/placement()/redeem(), utility getters, and the error contract. - [configure()](https://docs.encorekit.com/publishers/web/sdk-reference/configure.md): Initialize the Encore Web SDK: the EncoreConfig contract, configure-once semantics, and the getConfiguration() snapshot. - [identify()](https://docs.encorekit.com/publishers/web/sdk-reference/identify.md): Attach your own stable user id to the Encore Web SDK session (replacing the auto-generated anonymous UUID), optionally setting attributes in the same call. Includes getCurrentUserId() and getAppAccountId(). - [setUserAttributes()](https://docs.encorekit.com/publishers/web/sdk-reference/set-user-attributes.md): Merge user attributes (identity, location, subscription, engagement, custom string map) into the Encore Web SDK profile for offer targeting. Includes getUserAttributes(). - [setLanguage()](https://docs.encorekit.com/publishers/web/sdk-reference/set-language.md): Set the language Encore serves copy in, overriding the browser language until you clear it - [clearLanguage()](https://docs.encorekit.com/publishers/web/sdk-reference/clear-language.md): Remove the language set with setLanguage() so Encore copy follows the browser language again - [reset()](https://docs.encorekit.com/publishers/web/sdk-reference/reset.md): Clear all locally stored Encore Web SDK state and generate a fresh anonymous id. - [show()](https://docs.encorekit.com/publishers/web/sdk-reference/show.md): Present the offer sheet and resolve a ShowResult: claimed, dismissed, or unavailable. Never rejects. - [redeem()](https://docs.encorekit.com/publishers/web/sdk-reference/redeem.md): Hand a saved Reduce Churn claim off to the advertiser in the Web SDK, and read the pending claim with getPendingTransaction(). - [placement()](https://docs.encorekit.com/publishers/web/sdk-reference/placement.md): Fluent builder for presenting offers at a named placement, and the PlacementOptions contract it takes. - [isClaimEnabled](https://docs.encorekit.com/publishers/web/sdk-reference/is-claim-enabled.md): Turn off the claim call to action while leaving the rest of the offer sheet intact - [onStrictUnlockVerified()](https://docs.encorekit.com/publishers/web/sdk-reference/on-strict-unlock-verified.md): Subscribe to a strict-mode claim being confirmed by the advertiser's postback - [Error Handling](https://docs.encorekit.com/publishers/web/sdk-reference/errors.md): The Web SDK's error contract: errors arrive as values, never as exceptions. - [Webhook Ingestion](https://docs.encorekit.com/publishers/web/sdk-reference/webhook-ingestion.md): POST /webhooks/encore: the contract for forwarding your own billing's subscription lifecycle events into Encore so they join back to web exposures for incrementality (NCL) measurement. - [Install the SDK](https://docs.encorekit.com/publishers/react-native/quickstart/install.md): Add the Encore React Native SDK to your project. - [Configure the SDK](https://docs.encorekit.com/publishers/react-native/quickstart/configure.md): Initialize the Encore React Native SDK with your API key and purchase controller. - [User Management](https://docs.encorekit.com/publishers/react-native/quickstart/user-management.md): Identifying users, setting attributes, and managing identity in your React Native app. - [Presenting Offers](https://docs.encorekit.com/publishers/react-native/quickstart/present-offers.md): Present Encore's reward sheet at a moment your user just earned, or a Reduce Churn sheet in a cancel flow, in your React Native app. - [React Native Integration Patterns](https://docs.encorekit.com/publishers/react-native/guides/integration-patterns.md): Where the purchase controller, the call site, and the outcomes stream each belong in a React Native app. - [Add Subscription Product](https://docs.encorekit.com/publishers/react-native/guides/add-subscription-product.md): Set up the App Store and Google Play subscriptions Encore purchases when a user accepts an offer. - [Routine updates](https://docs.encorekit.com/publishers/react-native/guides/updating-sdk.md): How to update the Encore React Native SDK and how its versioning works. - [Updating to 2.x](https://docs.encorekit.com/publishers/react-native/guides/updating-to-2-x.md): Step-by-step migration guide for upgrading @encorekit/react-native from 1.x to 2.x. - [configure()](https://docs.encorekit.com/publishers/react-native/sdk-reference/configure.md): Initialize the Encore SDK with your public API key, purchase controller, and unlock mode - [identify()](https://docs.encorekit.com/publishers/react-native/sdk-reference/identify.md): Associate your user ID with Encore - [setUserAttributes()](https://docs.encorekit.com/publishers/react-native/sdk-reference/set-user-attributes.md): Store structured user attributes for targeting and analytics - [setLanguage()](https://docs.encorekit.com/publishers/react-native/sdk-reference/set-language.md): Set the language Encore serves copy in, overriding the device language until you clear it - [clearLanguage()](https://docs.encorekit.com/publishers/react-native/sdk-reference/clear-language.md): Remove the language set with setLanguage() so Encore copy follows the device language again - [reset()](https://docs.encorekit.com/publishers/react-native/sdk-reference/reset.md): Clear user identity and cached entitlements - [placement()](https://docs.encorekit.com/publishers/react-native/sdk-reference/placement.md): Present Encore offers via a fluent builder API - [PurchaseController](https://docs.encorekit.com/publishers/react-native/sdk-reference/purchase-controller.md): The purchase function your app registers so Encore offers purchase through your billing code - [onOutcome()](https://docs.encorekit.com/publishers/react-native/sdk-reference/outcomes.md): Subscribe to the outcomes stream: every placement resolution, plus late strict-unlock verifications - [setClaimEnabled()](https://docs.encorekit.com/publishers/react-native/sdk-reference/set-claim-enabled.md): Gray out and disable the claim CTA on offer cards at runtime - [UserAttributes](https://docs.encorekit.com/publishers/react-native/sdk-reference/user-attributes.md): Structured user attributes for targeting and analytics - [PresentationResult](https://docs.encorekit.com/publishers/react-native/sdk-reference/presentation-result.md): The factual record of a placement presentation: two independent funnels plus how the sheet ended - [Errors](https://docs.encorekit.com/publishers/react-native/sdk-reference/errors.md): Error handling in the Encore React Native SDK: errors as values, not rejections - [Install the SDK](https://docs.encorekit.com/publishers/flutter/quickstart/install.md): Add the Encore Flutter SDK to your project. The plugin bridges to the native iOS and Android SDKs via platform channels. - [Configure the SDK](https://docs.encorekit.com/publishers/flutter/quickstart/configure.md): Initialize the Encore SDK with your API key and purchase controller at app startup. - [User Management](https://docs.encorekit.com/publishers/flutter/quickstart/user-management.md): Identifying users, setting attributes, and managing identity in your Flutter app. - [Presenting Offers](https://docs.encorekit.com/publishers/flutter/quickstart/present-offers.md): Present Encore's reward sheet at a moment your user just earned, or a Reduce Churn sheet in a cancel flow, in your Flutter app. - [Flutter Integration Patterns](https://docs.encorekit.com/publishers/flutter/guides/integration-patterns.md): Where the purchase controller, the call site, and the outcomes stream each belong in a Flutter app. - [Add Subscription Product](https://docs.encorekit.com/publishers/flutter/guides/add-subscription-product.md): Set up the App Store and Google Play subscriptions Encore purchases when a user accepts an offer. - [Routine updates](https://docs.encorekit.com/publishers/flutter/guides/updating-sdk.md): How to update the Encore Flutter SDK and how its versioning works. - [Updating to 2.x](https://docs.encorekit.com/publishers/flutter/guides/updating-to-2-x.md): Step-by-step migration guide for upgrading the encore_flutter plugin from 1.x to 2.x. - [Overview](https://docs.encorekit.com/publishers/flutter/sdk-reference/overview.md): Every method, controller, and type in the encore_flutter plugin, with Dart signatures and platform differences - [configure()](https://docs.encorekit.com/publishers/flutter/sdk-reference/configure.md): Initialize the Encore SDK with your public API key, purchase controller, and unlock mode - [identify()](https://docs.encorekit.com/publishers/flutter/sdk-reference/identify.md): Link your signed-in user ID to Encore for cross-device entitlements and attribution, optionally with attributes - [setUserAttributes()](https://docs.encorekit.com/publishers/flutter/sdk-reference/set-user-attributes.md): Merge structured attributes into the current user's profile for targeting and analytics - [setLanguage()](https://docs.encorekit.com/publishers/flutter/sdk-reference/set-language.md): Set the language Encore serves copy in, overriding the device language until you clear it - [clearLanguage()](https://docs.encorekit.com/publishers/flutter/sdk-reference/clear-language.md): Remove the language set with setLanguage() so Encore copy follows the device language again - [reset()](https://docs.encorekit.com/publishers/flutter/sdk-reference/reset.md): Clear the user ID and attributes on logout, and start a new anonymous user - [placement()](https://docs.encorekit.com/publishers/flutter/sdk-reference/placement.md): Present Encore offers with an immutable builder that resolves to a result record - [EncorePurchaseController](https://docs.encorekit.com/publishers/flutter/sdk-reference/purchase-controller.md): The controller your app registers so Encore offers purchase through your billing code - [outcomes](https://docs.encorekit.com/publishers/flutter/sdk-reference/outcomes.md): Broadcast stream of every placement resolution, plus late strict-unlock verifications - [setClaimEnabled()](https://docs.encorekit.com/publishers/flutter/sdk-reference/set-claim-enabled.md): Gray out and disable the claim button on offer cards at runtime - [EncoreUserAttributes](https://docs.encorekit.com/publishers/flutter/sdk-reference/user-attributes.md): Every field of EncoreUserAttributes with its type, format, and an example value - [EncorePresentationResult](https://docs.encorekit.com/publishers/flutter/sdk-reference/presentation-result.md): The factual record of a placement presentation: two independent funnels plus how the sheet ended - [EncoreDismissReason](https://docs.encorekit.com/publishers/flutter/sdk-reference/dismiss-reason.md): How a presented offer sheet went away - [Errors](https://docs.encorekit.com/publishers/flutter/sdk-reference/errors.md): Error handling in the Encore Flutter SDK: errors as values on the result, plus the platform exceptions the plugin can raise - [Overview](https://docs.encorekit.com/publishers/offers-api/overview.md): Integrate premium brand offers over plain REST, with no SDK to install: you own the moment and the UI, Encore handles selection, attribution, and verification. - [Rewarded Actions](https://docs.encorekit.com/publishers/offers-api/guides/rewarded-actions.md): Reward a milestone, streak, or purchase moment with a brand-funded offer rendered in your own UI, over REST. - [Curated Catalog](https://docs.encorekit.com/publishers/offers-api/guides/curated-catalog.md): Choose which premium brand offers to feature, and in what order, on a surface you program yourself. - [Automated Messaging](https://docs.encorekit.com/publishers/offers-api/guides/automated-messaging.md): Append a premium brand offer to the automated messages your platform already sends on WhatsApp, Messenger, Instagram, or SMS. - [Creator Links](https://docs.encorekit.com/publishers/offers-api/guides/creator-links.md): Give each creator on your platform a permanent, trackable affiliate link per campaign, with per-creator performance stats for your dashboard. - [Splitting Your Funnel by Placement](https://docs.encorekit.com/publishers/offers-api/guides/placements.md): Label the surface each offer is shown on, and your dashboard breaks impressions, claims, and conversions out per surface. - [Receive Completion Events](https://docs.encorekit.com/publishers/offers-api/guides/receive-completion-events.md): Wire your server to react when a user's offer completion is verified, via the offer_completed webhook. - [POST /offers/feed](https://docs.encorekit.com/publishers/offers-api/reference/feed.md): Endpoint contract for POST /offers/feed: fetch a ranked batch of offers for one user. - [POST /offers/impressions/{impressionUid}/delivered](https://docs.encorekit.com/publishers/offers-api/reference/delivered.md): Endpoint contract for POST /offers/impressions/{impressionUid}/delivered: confirm that a fetched offer was actually shown to the user. - [POST /offers/catalog](https://docs.encorekit.com/publishers/offers-api/reference/catalog.md): Endpoint contract for POST /offers/catalog: fetch every offer your app may serve to one user, for client-side curation. - [POST /offers/message](https://docs.encorekit.com/publishers/offers-api/reference/message.md): Endpoint contract for POST /offers/message: select one eligible offer for an outbound automated message. - [POST /users/attributes](https://docs.encorekit.com/publishers/offers-api/reference/user-attributes.md): Endpoint contract for POST /users/attributes: store targeting attributes against a user for later offer requests. - [Creator Links endpoints](https://docs.encorekit.com/publishers/offers-api/reference/creator-links.md): Endpoint contracts for creator affiliate links: mint a creator's permanent tracking links and read their performance stats. - [GET /entitlements/server](https://docs.encorekit.com/publishers/offers-api/reference/entitlements-server.md): Endpoint contract for GET /entitlements/server: verify a user's entitlements from your backend, over HMAC-signed server-to-server auth. - [offer_completed webhook](https://docs.encorekit.com/publishers/offers-api/reference/offer-completed-webhook.md): Payload contract for the offer_completed webhook: the HTTPS POST Encore sends to your server when a completion is verified. - [Advertiser Integration](https://docs.encorekit.com/advertisers/integration.md): Track conversions on your website when users from Encore-integrated apps complete your offers, so you get credited for each completion. ## Optional - [My Dashboard](https://dashboard.encorekit.com) - [Support](mailto:admin@encorekit.com) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.