Skip to main content
An offer is an extra monetization webview surface for a linked player. Open it with:

Availability comes and goes

The offer screen opens only for a linked player who currently has an offer, and that can change between syncs: an offer available at launch may be gone an hour later, and one that was absent may appear. Check CanShowOffer on the Linked status before calling. Calling in any state is still safe - when there is no offer, the call does nothing and the reason is logged through OnLog. Because availability is transient, do not cache a “this player has an offer” flag of your own - it will go stale. Gate your UI on the SDK’s live snapshot instead:
The event fires whenever the flag changes, also while the player stays linked - see What can actually be shown. Availability can still change between rendering the button and the tap; such a tap does nothing and is harmless.

Offer lifecycle

The offer screen reports its lifecycle through the same unified events, carrying AlmediaScreen.Offer and the same AlmediaInAppScreenResult semantics as the reward hub:
Only one in-app screen can be open at a time - calling ShowOffer() while the reward hub (or the linking flow) is showing is ignored with a log, and no lifecycle event fires for the ignored call.