Skip to main content
The value returned by try await Encore.shared.placement(_:).show(). It tells you whether the user earned an entitlement or not, and why.
PresentationResult is the supported way to observe an offer’s outcome. The older EncorePresentationResult typename is a deprecated alias for this type, and the fluent .onGranted { } / .onNotGranted { } callbacks are deprecated too — prefer branching on the returned PresentationResult.

Definition

The associated values are unlabeled — match them positionally:

Cases

CaseAssociated valueDescription
.grantedEntitlementThe user completed an offer and earned an entitlement (trial, discount, or credit).
.notGrantedNotGrantedReasonThe user did not earn an entitlement (dismissed, no offers, experiment control, unsupported OS).

Usage

show() only throws for genuine failures (transport, protocol, integration). A user dismissal is .notGranted(...), not a thrown error — see Errors and NotGrantedReason.