Encore.shared.outcomes is an AsyncStream that every placement resolution lands on, plus late events. Use it for anything that wants to watch results without owning a call site: analytics forwarding, a debug overlay, cross-screen state. Control flow at the call site should use the result returned by show() instead.
Signature
outcomes returns an independent stream; any number of observers can listen concurrently.
Usage
Late strict-unlock verification
Withunlock: .strict, a claim that ends unverified persists across process death. When verification completes later, possibly on a subsequent launch, entitlements are refreshed first and then .strictUnlockVerified(transactionId:) is emitted. The transactionId matches the ClaimedOffer.transactionId recorded on the original result, so you can join the two events.
Related
- PresentationResult, the payload of
.presentationevents. - isActivePublisher(), the reactive entitlement state to gate UI on.