MRAID is a contract between the creative and the mobile app SDK. The app owns the webview and injects the mraid object. If the creative assumes the object is ready immediately, initialization can race the SDK and fail only on particular app versions, devices or connection speeds.
Reproduce the issue in the affected app version and capture the webview console, MRAID state changes and SDK logs. Confirm whether window.mraid exists, whether getState returns loading, whether the ready listener fires, and whether the creative requests expansion or viewability data before the host is ready.
Update the creative bootstrap to initialize immediately only when MRAID is already available and not loading. Otherwise, attach the ready listener once and initialize after it fires. Keep a non-MRAID fallback only when the placement contract allows it.