Skip to main content
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

Each access to outcomes returns an independent stream; any number of observers can listen concurrently.

Usage

Late strict-unlock verification

With unlock: .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.