LinkButton prefab):
- Matched pairs. A screen that appears fires exactly one
OnScreenPresentedand, later, exactly oneOnScreenDismissed. Never two presents in a row, never a dismiss without a present. - No-ops fire nothing. A call that opens nothing (wrong state, missing URL, another screen already open) fires neither event, so the game never pauses for a screen that never appeared.
- Presented fires early. It fires when the native container commits to presenting, before the page loads - the pause lands before the player sees the screen.
- Dismissed fires after the sync. Native completes its sync-on-close first, so
Almedia.Statusand related state are already up to date in the handler. For webview linking, the dismissal also fires before the outcome link callbacks (OnLinkCompletedetc.). - System-browser linking is excluded. When linking runs in the system browser, the app is backgrounded by the OS rather than covered - use the regular application lifecycle for that case; only the link callbacks fire.
screen argument (AlmediaScreen) identifies which screen it was, for analytics or per-screen UX.
Both events fire on the Unity main thread, like every other SDK event - see Threading.