Expose a way to register native WebView instances with Google Mobile Ads SDK WebView API for Ads

Author: saif71Created Jun 4, 2026Updated Aug 26, 2026
LabelsType: feature request

Google requires apps that monetize AdSense or Google Ad Manager display ads inside a WebView to implement the WebView API for Ads.

This requires calling a native Google Mobile Ads SDK method with the actual native WebView instance:

  • Android: MobileAds.registerWebView(webView)
  • iOS: MobileAds.shared.register(webView) / GADMobileAds.sharedInstance().register(webView)

Currently, react-native-webview does not appear to expose a way for React Native apps to access or register the underlying native WebView / WKWebView instance with the Google Mobile Ads SDK.

This creates a compliance issue for apps that use react-native-webview to display owned web content that includes AdSense or Google Ad Manager ads.

Google documentation:

Google states that apps monetizing AdSense or Google Ad Manager display ads inside a WebView must implement the WebView API for Ads.

The required integration is native and must be performed on the actual WebView object.

Android example:

kotlin
MobileAds.registerWebView(webView)

iOS example:

swift
MobileAds.shared.register(webView)

Problem

In React Native apps using react-native-webview, developers usually render WebViews like this:

typescript
import WebView from 'react-native-webview';

export function MyScreen() {
  return (
    <WebView source={{ uri: 'https://example.com' }} />
  );
}

However, there is no JS prop or imperative method that allows the app to register the native WebView instance with Google Mobile Ads SDK.

This is especially problematic for Expo apps using development builds / EAS builds, where native code can be included but the WebView is still provided by react-native-webview.

Proposed solution

Add first-class support for registering the native WebView with Google Mobile Ads SDK when requested.

Possible API:

typescript
<WebView
  source={{ uri: 'https://example.com' }}
  googleMobileAdsWebViewRegistrationEnabled
/>

When enabled:

Android

Calls:

kotlin
MobileAds.registerWebView(webView)

after the native WebView is created.

iOS

Calls:

swift
MobileAds.shared.register(webView)

or the appropriate Google Mobile Ads SDK equivalent after the WKWebView is created.

Why this belongs here

The Google API must be called with the actual native WebView object.

Because react-native-webview owns creation of the native WebView / WKWebView, this library is in the best position to expose a safe and stable way to perform that registration.

Source: react-native-webview/react-native-webview