# Encore SDK ## Docs - [Integration Patterns](https://docs.encorekit.com/concepts/integration-patterns.md): Choose the right way to handle offer results in your Encore integration. - [Android Integration Patterns](https://docs.encorekit.com/publishers/android/guides/integration-patterns.md): Two ways to handle Encore offer results in Kotlin — async-result and handler-based — with a decision tree for picking the right one. - [Add Subscription Product](https://docs.encorekit.com/publishers/android/quickstart/add-subscription-product.md): Create a Google Play subscription product and connect it to Encore. - [Configure the SDK](https://docs.encorekit.com/publishers/android/quickstart/configure.md): Initialize the Encore SDK with your API key at app launch. - [Configure Analytics](https://docs.encorekit.com/publishers/android/quickstart/configure-analytics.md): Set up Google Play Real-Time Developer Notifications so Encore can track subscription events and measure offer impact. - [Install the SDK](https://docs.encorekit.com/publishers/android/quickstart/install.md): Add the Encore Android SDK to your project via Gradle. - [Presenting Offers](https://docs.encorekit.com/publishers/android/quickstart/present-offers.md): Present Encore retention offers to users at key moments in your Android app. - [User Management](https://docs.encorekit.com/publishers/android/quickstart/user-management.md): Identifying users, setting attributes, and managing identity in your Android app. - [configure()](https://docs.encorekit.com/publishers/android/sdk-reference/configure.md): Initialize the Encore SDK with your public API key - [EncoreError](https://docs.encorekit.com/publishers/android/sdk-reference/errors.md): Structured error hierarchy for the Encore SDK - [identify()](https://docs.encorekit.com/publishers/android/sdk-reference/identify.md): Associate your user ID with Encore - [onPassthrough()](https://docs.encorekit.com/publishers/android/sdk-reference/on-passthrough.md): Handle not-granted outcomes (dismiss, no offers) - [onPurchaseComplete](https://docs.encorekit.com/publishers/android/sdk-reference/on-purchase-complete.md): Callback invoked after Encore completes a native Play Billing purchase - [onPurchaseRequest()](https://docs.encorekit.com/publishers/android/sdk-reference/on-purchase-request.md): Handle purchase flow after offer completion - [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): Outcome of presenting an Encore offer - [reset()](https://docs.encorekit.com/publishers/android/sdk-reference/reset.md): Clear user identification and cached entitlements - [setUserAttributes()](https://docs.encorekit.com/publishers/android/sdk-reference/set-user-attributes.md): Set custom attributes for targeting and analytics - [UserAttributes](https://docs.encorekit.com/publishers/android/sdk-reference/user-attributes.md): Structured user attributes for targeting and analytics - [Configure the SDK](https://docs.encorekit.com/publishers/capacitor/quickstart/configure.md): Initialize the Encore Capacitor SDK with your API key. - [Install the SDK](https://docs.encorekit.com/publishers/capacitor/quickstart/install.md): Add the Encore Capacitor SDK to your project. - [Presenting Offers](https://docs.encorekit.com/publishers/capacitor/quickstart/present-offers.md): Present Encore retention offers to users at key moments in your Capacitor app. - [User Management](https://docs.encorekit.com/publishers/capacitor/quickstart/user-management.md): Identifying users, setting attributes, and managing identity in your Capacitor app. - [Flutter Integration Patterns](https://docs.encorekit.com/publishers/flutter/guides/integration-patterns.md): Two ways to handle Encore offer results in Flutter — async-result and handler-based — with a decision tree for picking the right one. - [Add Subscription Product](https://docs.encorekit.com/publishers/flutter/quickstart/add-subscription-product.md): Create subscription products in App Store Connect and Google Play Console, then connect them to Encore. - [Configure the SDK](https://docs.encorekit.com/publishers/flutter/quickstart/configure.md): Initialize the Encore SDK with your API key at app startup. - [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. - [Presenting Offers](https://docs.encorekit.com/publishers/flutter/quickstart/present-offers.md): Present Encore retention offers to users at key moments in your Flutter app. - [User Management](https://docs.encorekit.com/publishers/flutter/quickstart/user-management.md): Identifying users, setting attributes, and managing identity in your Flutter app. - [Create a Promotional Offer](https://docs.encorekit.com/publishers/ios/guides/create-promotional-offer.md): Step-by-step guide to creating a promotional offer in App Store Connect for use with Encore retention flows. - [iOS Integration Patterns](https://docs.encorekit.com/publishers/ios/guides/integration-patterns.md): Two ways to handle Encore offer results in Swift — async-result and handler-based — with a decision tree for picking the right one. - [Targeting Moments](https://docs.encorekit.com/publishers/ios/guides/targeting-moments.md): Choose the right moments in your app to present Encore retention offers. - [Updating the SDK](https://docs.encorekit.com/publishers/ios/guides/updating-sdk.md): How to update the Encore SDK to the latest version. - [Using Adapty](https://docs.encorekit.com/publishers/ios/guides/using-adapty.md): Integrate Encore with Adapty for subscription management - [Using Multiple Managers](https://docs.encorekit.com/publishers/ios/guides/using-multiple-managers.md): Combine Encore entitlements with Superwall, RevenueCat, or your own IAP manager - [Using Qonversion](https://docs.encorekit.com/publishers/ios/guides/using-qonversion.md): Integrate Encore with Qonversion for subscription management - [Using RevenueCat](https://docs.encorekit.com/publishers/ios/guides/using-revenuecat.md): Integrate Encore offers seamlessly with RevenueCat paywalls. - [Using Superwall](https://docs.encorekit.com/publishers/ios/guides/using-superwall.md): Integrate Encore offers seamlessly with Superwall paywalls. - [Objective-C SDK](https://docs.encorekit.com/publishers/ios/objective-c.md): Integrate Encore into Objective-C iOS apps via the EncoreObjC overlay pod. - [Add Subscription Product](https://docs.encorekit.com/publishers/ios/quickstart/add-subscription-product.md): Create an App Store subscription product and connect it to Encore. - [Configure the SDK](https://docs.encorekit.com/publishers/ios/quickstart/configure.md): Initialize the Encore SDK with your API key at app launch. - [Configure Analytics](https://docs.encorekit.com/publishers/ios/quickstart/configure-analytics.md): Set up App Store Server Notifications so Encore can track subscription events and measure offer impact. - [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. - [Presenting Offers](https://docs.encorekit.com/publishers/ios/quickstart/present-offers.md): Present Encore retention offers to users at key moments in your app. - [User Management](https://docs.encorekit.com/publishers/ios/quickstart/user-management.md): Identifying users, setting attributes, and managing identity in your iOS app. - [configure()](https://docs.encorekit.com/publishers/ios/sdk-reference/configure.md): Initialize the Encore SDK with your public API key - [EntitlementScope](https://docs.encorekit.com/publishers/ios/sdk-reference/entitlement-scope.md): Control which entitlements to check when querying active state - [Entitlements](https://docs.encorekit.com/publishers/ios/sdk-reference/entitlements.md): Types of rewards returned when an offer is granted - [identify()](https://docs.encorekit.com/publishers/ios/sdk-reference/identify.md): Associate your user ID with Encore - [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 - [NotGrantedReason](https://docs.encorekit.com/publishers/ios/sdk-reference/not-granted-reason.md): Reasons why an entitlement was not granted - [onPassthrough()](https://docs.encorekit.com/publishers/ios/sdk-reference/on-passthrough.md): Handle not-granted outcomes (dismiss, no offers) - [onPurchaseComplete](https://docs.encorekit.com/publishers/ios/sdk-reference/on-purchase-complete.md): Callback invoked after Encore completes a native StoreKit purchase - [onPurchaseRequest()](https://docs.encorekit.com/publishers/ios/sdk-reference/on-purchase-request.md): Handle purchase flow after offer completion - [placement()](https://docs.encorekit.com/publishers/ios/sdk-reference/placement.md): Create and present Encore offers with a fluent API - [EncorePresentationResult](https://docs.encorekit.com/publishers/ios/sdk-reference/presentation-result.md): Outcome of presenting an Encore offer - [reset()](https://docs.encorekit.com/publishers/ios/sdk-reference/reset.md): Clear user identification and cached entitlements - [setUserAttributes()](https://docs.encorekit.com/publishers/ios/sdk-reference/set-user-attributes.md): Set custom attributes for targeting and analytics - [UserAttributes](https://docs.encorekit.com/publishers/ios/sdk-reference/user-attributes.md): Structured user attributes for targeting and analytics - [Add Subscription Product](https://docs.encorekit.com/publishers/kmp/quickstart/add-subscription-product.md): Connect your subscription billing to the Encore KMP SDK. - [Configure the SDK](https://docs.encorekit.com/publishers/kmp/quickstart/configure.md): Initialize the Encore KMP SDK in your app. - [Install the SDK](https://docs.encorekit.com/publishers/kmp/quickstart/install.md): Add the Encore KMP SDK to your Kotlin Multiplatform project. - [Present Offers](https://docs.encorekit.com/publishers/kmp/quickstart/present-offers.md): Show Encore retention offers to users at key moments. - [Identify Users](https://docs.encorekit.com/publishers/kmp/quickstart/user-management.md): Associate users and set attributes in the Encore KMP SDK. - [React Native Integration Patterns](https://docs.encorekit.com/publishers/react-native/guides/integration-patterns.md): Two ways to handle Encore offer results in React Native — async-result and handler-based — with a decision tree for picking the right one. - [Configure the SDK](https://docs.encorekit.com/publishers/react-native/quickstart/configure.md): Initialize the Encore React Native SDK with your API key. - [Install the SDK](https://docs.encorekit.com/publishers/react-native/quickstart/install.md): Add the Encore React Native SDK to your project. - [Presenting Offers](https://docs.encorekit.com/publishers/react-native/quickstart/present-offers.md): Present Encore retention offers to users at key moments in your React Native app. - [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. - [completePurchaseRequest()](https://docs.encorekit.com/publishers/react-native/reference/complete-purchase-request.md): Signal purchase outcome to the Encore SDK - [configure()](https://docs.encorekit.com/publishers/react-native/reference/configure.md): Initialize the Encore SDK with your public API key - [Errors](https://docs.encorekit.com/publishers/react-native/reference/errors.md): Error handling in the Encore React Native SDK - [identify()](https://docs.encorekit.com/publishers/react-native/reference/identify.md): Associate your user ID with Encore - [onPassthrough()](https://docs.encorekit.com/publishers/react-native/reference/on-passthrough.md): Handle not-granted outcomes (dismiss, no offers) - [onPurchaseComplete()](https://docs.encorekit.com/publishers/react-native/reference/on-purchase-complete.md): Callback invoked after a native purchase completes - [onPurchaseRequest()](https://docs.encorekit.com/publishers/react-native/reference/on-purchase-request.md): Handle purchase flow after offer acceptance - [placement()](https://docs.encorekit.com/publishers/react-native/reference/placement.md): Present Encore offers via a fluent builder API - [PlacementResult](https://docs.encorekit.com/publishers/react-native/reference/placement-result.md): Outcome of presenting an Encore offer - [reset()](https://docs.encorekit.com/publishers/react-native/reference/reset.md): Clear user identity and cached entitlements - [setUserAttributes()](https://docs.encorekit.com/publishers/react-native/reference/set-user-attributes.md): Store structured user attributes for targeting and analytics - [show()](https://docs.encorekit.com/publishers/react-native/reference/show.md): Present an Encore offer for a placement - [UserAttributes](https://docs.encorekit.com/publishers/react-native/reference/user-attributes.md): Structured user attributes for targeting and analytics - [Integration Guides](https://docs.encorekit.com/publishers/web/guides/framework-integration.md): Choose your framework to see detailed integration guides. - [Web Integration Patterns](https://docs.encorekit.com/publishers/web/guides/integration-patterns.md): How to handle Encore offer results in web applications — async-result and per-placement callbacks. The Web SDK has no global purchase handlers; the browser handles purchase flows directly. - [Configure the SDK](https://docs.encorekit.com/publishers/web/quickstart/configure.md): Initialize the Encore Web SDK with your API key and a user ID. - [Install the SDK](https://docs.encorekit.com/publishers/web/quickstart/install.md): Add the Encore Web SDK to your JavaScript or TypeScript project. - [Presenting Offers](https://docs.encorekit.com/publishers/web/quickstart/present-offers.md): Present Encore retention offers to users at key moments in your web application. - [Track Entitlements](https://docs.encorekit.com/publishers/web/quickstart/track-entitlements.md): Validate user entitlements securely on your server to control access to premium features. - [User Management](https://docs.encorekit.com/publishers/web/quickstart/user-management.md): Identifying users, setting attributes, and managing identity in your web application. - [configure()](https://docs.encorekit.com/publishers/web/sdk-reference/configure.md): Initialize the Encore SDK with your public API key and user identifier - [Error Handling](https://docs.encorekit.com/publishers/web/sdk-reference/errors.md): Error codes, types, and handling strategies - [Managing Entitlement State](https://docs.encorekit.com/publishers/web/sdk-reference/event-handling.md): Handle entitlement state changes in your application - [Grant Signals](https://docs.encorekit.com/publishers/web/sdk-reference/grant-signals.md): Send grant signals and poll for verification - [identify()](https://docs.encorekit.com/publishers/web/sdk-reference/identify.md): Associate your user ID with Encore for cross-device tracking - [Server-Side Validation](https://docs.encorekit.com/publishers/web/sdk-reference/is-active.md): Securely validate user entitlements on your backend using HMAC authentication - [Overview](https://docs.encorekit.com/publishers/web/sdk-reference/overview.md): Complete reference documentation for the Encore Web SDK - [placement()](https://docs.encorekit.com/publishers/web/sdk-reference/placement.md): Fluent builder pattern for presenting offers with chained callbacks - [presentOffer()](https://docs.encorekit.com/publishers/web/sdk-reference/present-offer.md): Display targeted offers to users and handle results - [Refreshing Entitlements](https://docs.encorekit.com/publishers/web/sdk-reference/refresh-entitlements.md): Re-validate user entitlements on your server - [reset()](https://docs.encorekit.com/publishers/web/sdk-reference/reset.md): Clear user identity, attributes, and cached entitlements - [setUserAttributes()](https://docs.encorekit.com/publishers/web/sdk-reference/set-user-attributes.md): Set user attributes for targeting and personalization - [Get Started with Encore](https://docs.encorekit.com/quickstart.md): Start presenting offers and tracking entitlements in minutes. ## OpenAPI Specs - [openapi](https://docs.encorekit.com/api-reference/openapi.json)