v2.4.x → v2.5.0 upgrade banner: the publisher has a legacy Bearer token from the old pair-poll flow. That token still works against /api/site/* during the 60-day coexistence window, but it has no refresh_token so it can't auto-rotate. One click of Reconnect below puts them on OAuth2 and the banner goes away on reload.
One-time reconnect recommended
This plugin was connected under an older authentication flow. The existing connection still works, but click Reconnect below to switch to the new OAuth2 flow — it rotates tokens automatically so you never need to manually re-authorize.
CONNECTED STATE — v2.9.0: slim confirmation bar. The big card is reserved for the disconnected state (which needs attention); connected is the happy path and stays out of the way.
Connected to Advally · {$xf.options.advally_alias} · ID {$xf.options.advally_api_token_site_id}
Reconnect
NOT CONNECTED — solid red, big warning
NOT CONNECTED TO ADVALLY
Ads will not serve until this plugin is connected to your Advally publisher account. One click connects everything — no copy-pasting tokens.
Development Mode on — pairing is optional for dev/staging; ads are disabled regardless.