Integra l'API WebView per gli annunci
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Le API WebView per gli annunci rendono disponibili gli indicatori delle app per i tag nel tuo
WebView
, contribuendo a migliorare la monetizzazione per i
publisher che hanno fornito i contenuti e a proteggere gli inserzionisti dallo spam.
Questi indicatori dell'app, come l'ID app e la versione dell'app, contribuiscono ad attivare casi d'uso di report
e targeting dell'inventario del browser in-app
che altrimenti sono disponibili solo per il traffico delle app.

Come funziona
La comunicazione con l'SDK Google Mobile Ads avviene solo in risposta a eventi
di annunci attivati da uno dei seguenti elementi:
L'SDK aggiunge gestori di messaggi al WebView
registrato per ascoltare
questi eventi pubblicitari. Per capire meglio come funziona, visualizza il
codice sorgente della
pagina di test.
Prerequisiti
- SDK Google Mobile Ads
versione 20.6.0 o successive.
Livello API Android 21 o superiore.
Aggiungi il seguente tag <meta-data>
nel file AndroidManifest.xml
per ignorare il controllo di APPLICATION_ID
. Se salti questo passaggio e non
fornisci il tag <meta-data>
, l'SDK Google Mobile Ads genera un
IllegalStateException
all'avvio dell'app.
<!-- Bypass APPLICATION_ID check for web view APIs for ads -->
<meta-data
android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
android:value="webview"/>
Registra la visualizzazione web
Chiama
registerWebView()
nel thread principale per stabilire una connessione con i gestori JavaScript nel
codice AdSense o nel tag Google Publisher all'interno di ogni istanza WebView
. Questa operazione
deve essere eseguita il prima possibile, ad esempio nel
metodo onCreate()
del tuo MainActivity
.
Kotlin
import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.gms.ads.MobileAds
class MainActivity : AppCompatActivity() {
lateinit var webView: WebView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView = findViewById(R.id.webview)
// Let the web view accept third-party cookies.
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
// Let the web view use JavaScript.
webView.settings.javaScriptEnabled = true
// Let the web view access local storage.
webView.settings.domStorageEnabled = true
// Let HTML videos play automatically.
webView.settings.mediaPlaybackRequiresUserGesture = false
// Register the web view.
MobileAds.registerWebView(webView)
}
}
Java
import android.webkit.CookieManager;
import android.webkit.WebView;
import com.google.android.gms.ads.MobileAds;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webview);
// Let the web view accept third-party cookies.
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
// Let the web view use JavaScript.
webView.getSettings().setJavaScriptEnabled(true);
// Let the web view access local storage.
webView.getSettings().setDomStorageEnabled(true);
// Let HTML videos play automatically.
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
// Register the web view.
MobileAds.registerWebView(webView);
}
}
Testare l'integrazione
Prima di utilizzare il tuo URL, ti consigliamo di caricare il seguente URL per testare l'integrazione:
https://google.github.io/webview-ads/test/#api-for-ads-tests
L'URL di test mostra barre di stato verdi per un'integrazione riuscita se
si verificano le seguenti condizioni:
WebView
collegato all'SDK Google Mobile Ads
Passaggi successivi
- Raccogli il consenso in
WebView
. Le API WebView per gli annunci non
propagano il consenso raccolto nel contesto dell'app mobile utilizzando i framework di conformità TCF di IAB v2.0 o IAB CCPA
ai tag nelle tue WebView. Se ti interessa implementare un unico flusso di consenso in qualità di proprietario sia dell'WebView
sia dei relativi contenuti web monetizzati, collabora con la tua piattaforma di gestione del consenso per raccogliere il consenso nel contesto dell'WebView
.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-31 UTC.
[null,null,["Ultimo aggiornamento 2025-08-31 UTC."],[[["\u003cp\u003eThe Web View APIs for Ads enhance monetization for publishers and protect advertisers by making app signals available to web view ads.\u003c/p\u003e\n"],["\u003cp\u003eThese APIs leverage app signals like app ID and version to enable reporting and targeting capabilities previously limited to app traffic.\u003c/p\u003e\n"],["\u003cp\u003eTo integrate, register your web view with the Google Mobile Ads SDK (version 20.6.0 or higher) using \u003ccode\u003eMobileAds.registerWebView()\u003c/code\u003e after setting necessary web view configurations.\u003c/p\u003e\n"],["\u003cp\u003eTesting can be performed with the provided URL to confirm successful integration and connection between the web view and SDK.\u003c/p\u003e\n"],["\u003cp\u003ePublishers are responsible for managing consent within the web view context, as the API doesn't automatically propagate consent from the mobile app.\u003c/p\u003e\n"]]],["Web view APIs enable sharing app signals like app ID and version with tags in `WebView`, improving monetization and protecting advertisers. This is achieved through the Google Mobile Ads SDK listening for ad events from AdSense, Google Publisher Tag, or IMA for HTML5. Developers must register the `WebView` using `MobileAds.registerWebView()` in the app's `onCreate()` method and include a specific `\u003cmeta-data\u003e` tag in `AndroidManifest.xml`. Integration can be tested via a provided test URL. It is necessary to gather consent separately in the webview.\n"],null,["The web view APIs for ads makes app signals available to the tags in your\n\n[`WebView`](//developer.android.com/reference/android/webkit/WebView), helping to improve monetization for the\npublishers that provided the content and protect advertisers from spam.\n\nThese app signals, such as app ID and app version, help activate [Reporting](//support.google.com/admanager/answer/14137220#report-on-in-app-webview-traffic)\nand [Target in-app browser inventory](//support.google.com/admanager/answer/14137220#target-in-app-webview-inventory)\nuse cases that are otherwise only available on app traffic.\n\n\nHow it works\n\nCommunication with the Google Mobile Ads SDK only happens in response to ad\nevents triggered by any of the following:\n\n- [AdSense code](//support.google.com/adsense/answer/9274634)\n- [Google Publisher Tag](//support.google.com/admanager/answer/181073)\n- [IMA for HTML5](//support.google.com/adsense/answer/6391192)\n\nThe SDK adds message handlers to the registered `WebView` to listen for\nthese ad events. For a better sense of how this works, view the\n[source code](//github.com/google/webview-ads/blob/main/test/index.html) of the\ntest page.\n\nPrerequisites\n\n- [Google Mobile Ads SDK](/ad-manager/mobile-ads-sdk/android/quick-start#import_the_mobile_ads_sdk) version 20.6.0 or higher.\n- Android API level 21 or higher.\n\n- Add the following `\u003cmeta-data\u003e` tag in your `AndroidManifest.xml` file to\n bypass the check for the `APPLICATION_ID`. If you miss this step and don't\n provide the `\u003cmeta-data\u003e` tag, the Google Mobile Ads SDK throws an\n [`IllegalStateException`](//developer.android.com/reference/java/lang/IllegalStateException)\n on app start.\n\n \u003c!-- Bypass APPLICATION_ID check for web view APIs for ads --\u003e\n \u003cmeta-data\n android:name=\"com.google.android.gms.ads.INTEGRATION_MANAGER\"\n android:value=\"webview\"/\u003e\n\n\u003cbr /\u003e\n\nRegister the web view\n\nCall\n\n[`registerWebView()`](/ad-manager/mobile-ads-sdk/android/reference/com/google/android/gms/ads/MobileAds#registerWebView(android.webkit.WebView))\n\non the main thread to establish a connection with the JavaScript handlers in the\nAdSense code or Google Publisher Tag within each `WebView` instance. This\nshould be done as early as possible, such as in the\n\n`onCreate()` method of your `MainActivity`.\n\n\nKotlin \n\n import android.webkit.CookieManager\n import android.webkit.WebView\n import com.google.android.gms.ads.MobileAds\n\n class MainActivity : AppCompatActivity() {\n lateinit var webView: WebView\n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.activity_main)\n webView = findViewById(R.id.webview)\n\n // Let the web view accept third-party cookies.\n CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)\n // Let the web view use JavaScript.\n webView.settings.javaScriptEnabled = true\n // Let the web view access local storage.\n webView.settings.domStorageEnabled = true\n // Let HTML videos play automatically.\n webView.settings.mediaPlaybackRequiresUserGesture = false\n\n // Register the web view.\n MobileAds.registerWebView(webView)\n }\n }\n\nJava \n\n import android.webkit.CookieManager;\n import android.webkit.WebView;\n import com.google.android.gms.ads.MobileAds;\n\n public class MainActivity extends AppCompatActivity {\n private WebView webView;\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_main);\n webView = findViewById(R.id.webview);\n\n // Let the web view accept third-party cookies.\n CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);\n // Let the web view use JavaScript.\n webView.getSettings().setJavaScriptEnabled(true);\n // Let the web view access local storage.\n webView.getSettings().setDomStorageEnabled(true);\n // Let HTML videos play automatically.\n webView.getSettings().setMediaPlaybackRequiresUserGesture(false);\n\n // Register the web view.\n MobileAds.registerWebView(webView);\n }\n }\n\nTest your integration\n\nBefore using your own URL, we recommend that you load the following URL to test\nthe integration: \n\n https://google.github.io/webview-ads/test#api-for-ads-tests\n\nThe test URL shows green status bars for a successful integration if the\nfollowing conditions apply:\n\n- `WebView` connected to the Google Mobile Ads SDK\n\nNext steps\n\n- Gather consent in `WebView`. The Web view APIs for Ads doesn't propagate consent collected in the mobile app context using [IAB TCF v2.0](//iabeurope.eu/tcf-2-0/) or [IAB CCPA](//iabtechlab.com/wp-content/uploads/2019/11/Technical-Specifications-FAQ-US-Privacy-IAB-Tech-Lab.pdf) compliance frameworks to the tags in your web views. If you're interested in implementing a single consent flow as the owner of both the `WebView` and its corresponding web content being monetized, work with your consent management platform to gather consent in the `WebView` context."]]