Hi everyone, I’d like to report a discrepancy in how AdMob banners behave between iOS and Android when using the AdMob plugin.
According to the documentation:
y (optional)
String or Number. Only applies to banner ads, specifying the banner’s y position on the screen. If you supply a string, valid position values are"top"
or"bottom"
. Alternatively, you can set a custom y position by specifying a number in content coordinates where 0 indicates the top edge of the screen or where a negative value specifies an offset from the bottom edge of the screen to the bottom edge of the banner. Default is"bottom"
.
Now here’s the issue:
On iOS, calling admob.show("banner")
(without any y
parameter, which defaults to "bottom"
), the banner is automatically positioned above the unsafe area (e.g., the home indicator area or bottom screen curve), which is correct and expected behavior.
However, on Android, the same call causes the banner to be placed flush against the very bottom of the screen, completely ignoring the unsafe area — such as navigation bars, screen curves, or camera cutouts. The same thing happens when using "top"
; banners can appear too close to notches or cameras on certain Android phones. I verified this personally using two devices, one Android and one iOS, both with unsafe zones, and the behavior is consistent and reproducible.
This seems like a bug or missing safe area handling in the Android implementation of the plugin. It would be great if banners respected the safe area on Android just like they do on iOS, especially when using the default "top"
or "bottom"
position strings.
In the meantime, are there any workarounds for Android? Has anyone else experienced this issue or found a solution?