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
| Case | Associated value | Description |
|---|
.granted | Entitlement | The user completed an offer and earned an entitlement (trial, discount, or credit). |
.notGranted | NotGrantedReason | The 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.