Skip to content

CASInterstitial / fullscreen: onAdShowed + onAdClicked but late or missing onAdDismissed; load fails with ALREADY_DISPLAYED (12) Interstitial fullscreen: intermittent black screen or missing close button — users force-close app #41

@zahidkhan677

Description

@zahidkhan677

Summary

We sometimes see interstitials that report onAdShowed and onAdClicked correctly, but onAdDismissed is very late or never arrives while the user still sees a black screen, missing close control, or a playable that won’t finish. In parallel, subsequent load() calls can return AdError code 12 (ALREADY_DISPLAYED / “a screen ad is still being displayed”) for a long time, as if CAS still believes a fullscreen is visible.

What users see (production)

In normal sessions several interstitials in a row work fine. Then sometimes:
We are not calling show() in a loop. This appears to be mediation / network WebView or creative behavior, but we need guidance on whether CAS can:

  • improve detection / timeout on the mediation side, or
  • document a supported recovery when onAdDismissed is missing (e.g. instance lifecycle, destroy() rules, known adapter issues).
  1. Black fullscreen — nothing renders; no way to close the ad from the UI.
  2. Ad appears (creative loads) but there is no close / dismiss control, or it only appears after a very long time, so the screen feels stuck.
  3. In those cases users cannot return to the app through the ad UI and often force-close the app from the system Recents screen, which is bad for retention and reviews.

Representative log sequence (filter: CASInterstitialManager)

  1. initializedloaded <NetworkA>showed <NetworkA>clicked
  2. Optional: returned after click-through, short watchdog (user returned from browser/store)
  3. Either dismissed soon, OR no dismissed for minutes while UI appears stuck
  4. After app-side watchdog clears our session state (when SDK never dismisses), we may see:
    load fail 12 Ad load requested, but a screen ad is still being displayed
  5. Sometimes dismissed only after the user leaves the app from Recents — suggests the network Activity was still alive.
    The problem is intermittent — not every impression — but when it happens it is severe for UX.
    Networks frequently mentioned in logs: DSPExchange (CAS Exchange), AppLovin, Mintegral, LiftoffMonetize.

What we need from CAS

  1. Is this a known class of issues with specific adapters (e.g. DT Exchange / playables) in 4.6.x?
  2. Recommended SDK + adapter versions or mediation settings to reduce stuck fullscreens?
  3. Official guidance when onAdDismissed never fires but onAdShowed did — is destroy() on CASInterstitial and a new instance the intended recovery, or is there a better API?
  4. Any open issues / changelog entries** we should track for “ALREADY_DISPLAYED” after a stuck impression?
  5. Is this a known issue with certain mediated networks or creative types (e.g. HTML5 / playable / exchange demand) on recent CAS SDK builds?
  6. Recommended mitigations on the mediation or dashboard side (network order, caps, blocking problematic demand).
  7. Any SDK or adapter updates you recommend for apps seeing missing close or blank WebView fullscreens.
  8. Whether we should open this with specific adapter vendors (and how you prefer we reference CAS ID / placement in that report).

Sample code alignment

We follow the public guide: https://docs.page/cleveradssolutions/docs/Android/Interstitial-Ads
If you need a minimal repro, we can strip down to a single-Activity sample matching javaSample and still reproduce with production traffic.
We can provide CAS ID, SDK version, and device/OS details privately if your team needs them for investigation.

Contact

Happy to share full logcat, Creative ID from AdContentInfo when available, and exact timestamps if your team wants to correlate with server-side events.
Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions