Skip to content

iOS 26 Navigation layer causes OMID SDK to incorrectly report ad Obstructions, preventing video/animated ad autoplay #47

@johankasperi

Description

@johankasperi

This issue was originally posted here but I was recommended to open the issue in this repo instead

In iOS 26, Apple changed the view hierarchy so that navigation-related views (top header and bottom navigation bar) are now rendered on top of app content, rather than behind it as in iOS 18 and earlier. These navigation views appear to be transparent layers, but their presence causes the Open Measurement SDK (OMID), which is bundled in the Google Mobile Ads SDK, to register them as "obstructions" over ad content.
When OMID detects these obstructions, it marks the ad as "not viewable" (hidden), which blocks video and animated HTML5/script-based ad creatives from autoplaying. This behavior is consistent with the OMID specification — it is doing what it is designed to do — but the root cause is that Apple's new transparent navigation layers are incorrectly being classified as content-blocking obstructions.

Steps to Reproduce

  1. Run an iOS app that integrates Google Mobile Ads SDK (GMA) with OMID enabled
  2. Load a view that displays a video or animated HTML5 ad creative (e.g. via a WKWebView or banner ad unit)
  3. Observe that OMID registers an obstruction over the ad
  4. Observe that the video/animated ad does not autoplay

Expected Result
The transparent navigation layers introduced in iOS 26 should not be reported as obstructions by OMID, since they are part of the native app chrome and not content that visually obscures the ad. Video and animated ad creatives should autoplay as expected.

Actual Result
OMID registers the iOS 26 navigation views as obstructions over the ad area. As a result, ad creatives that depend on viewability measurement to trigger playback do not autoplay.

Workaround Attempted
Setting alpha = 0 or isHidden = true on the identified layers removes the OMID obstruction but simultaneously hides the app's navigation UI, making this approach unusable.

Additional Context
The issue was confirmed by inspecting the view hierarchy: on iOS 26, all navigation-related views sit above app content in the Z-order. On iOS 18, they sit behind app content.
I'm using Xcode 26.3

View hierarchy iOS 26:
Image

View hierarchy iOS 18:
Image

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