Looking for integration guides?
- New to Encore? Start with the Getting Started Guide for portal-guided setup
- Step-by-step integration: See the iOS Quickstart for detailed installation and configuration instructions
- Advanced setups: This reference section is ideal for looking up specific methods, parameters, and advanced usage patterns
Core Methods
configure()
Initialize the SDK with your public API key and optional UI configuration
identify()
Associate your user ID with Encore for cross-device tracking
setUserAttributes()
Set structured attributes for targeting and analytics
reset()
Clear user identification and cached entitlements on logout
Presenting Offers
placement()
Fluent API for presenting offers with async/await or a callback
EncorePurchaseController
The controller your app registers so purchases run through your billing code
outcomes
AsyncStream of every placement resolution, for passive observers
isClaimEnabled
Runtime switch that dims the claim CTA on offer cards and stops it responding to taps
isActive()
Check if an entitlement is currently active for the user
isActivePublisher()
Reactive Combine publisher for entitlement state changes
Testing & Development
revokeEntitlements()
Admin method to revoke all entitlements for testing offer flows end-to-end
Types & Configuration
UserAttributes
Structured user attributes for targeting and personalization
Entitlements
Types of rewards granted when users accept offers
PresentationResult
The factual record a presentation resolves to
DismissReason
How a presented offer sheet went away
Error Handling
Errors
Errors that can occur when using the SDK
Basic Integration
show() never throws. Failures arrive as .notPresented(.error(EncoreError)) on the PresentationResult, so fallback logic lives in one place.