Hello Google IMA SDK team,
I’m implementing a Single Ad Lifecycle Across Screens in our Android TV app and have run into a blocking issue during ad playback.
Requirement Overview:
Start video (ad) in a mini-player on app launch.
On click → expand to fullscreen and resume from the same position.
On back press:
If ad not completed → return to mini-player and resume.
If ad completed in fullscreen → auto-return to home and start next video.
Mini-player completion → automatically switch to next video.
Only one ExoPlayer instance is shared between mini and fullscreen.
First ad plays in mini-player.
When completed → second ad starts from beginning in mini-player.
On click → fullscreen opens and resumes from same position.
On back press → returns to mini-player and continues.
No playback overlap.
Always show next video from beginning after the current one completes.
Problem Description:
When content is playing in the mini-player, clicking or pressing Enter correctly triggers my event listeners, saves the playback position, and opens fullscreen playback. This works as expected.
However, when an ad is playing in the mini-player, clicking or pressing Enter does nothing. After investigation, I found that:
During ad playback, the IMA SDK internally manages the player UI and uses an overlay view (possibly a SurfaceView or WebView) for rendering.
This overlay intercepts all input events, meaning my setOnClickListener() or setOnKeyListener() callbacks never get triggered.
As a result, users cannot enter fullscreen mode while an ad is playing.
Impact:
The user experience breaks because they are “stuck” in the mini-player during ad playback.
This is especially problematic for long ads where users expect to switch to fullscreen at any point.
Request for Guidance:
Is there an official way to detect and handle clicks or key events during IMA ad playback in a shared ExoPlayer instance scenario?
Can we attach custom event listeners directly to the ad overlay, or is there a recommended method to bypass this limitation?
Is there a flag or API to prevent the ad UI from consuming all input events?
Any suggestions, best practices, or sample implementations would be greatly appreciated.
Thanks,
Pavan Biradar
Hi,
Thank you for reaching out to the IMA SDK Support team.
Could you please share the following details via reply to author option? This will help us to investigate further.
If the file(s) you are looking to share are less than 25mb in total you can attach them to this case on your next reply. If you are having trouble attaching your file to this case or if your file(s) are larger than 25mb, you can share your files with me by performing the following steps:
1. Navigate to
https://docs.google.com/forms/d/e/1FAIpQLSfkAiXMeYP-fw1W3Z-tT9uwmATEKO5X6S-th0gR2ezdKaaqfg/viewform?usp=pp_url&entry.400550049=IMA+SDK&entry.460850823=500Ht00001sz6CmIAI&entry.80707362=00329954
2. Fill out all fields, and attach your file(s).
3. Please reply back on this thread when you have uploaded your file(s). Please do not share this link.
![]() |
IMA SDK Team |
[2025-08-26 16:42:34Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01sz6Cm:ref" (ADR-00329954)