Integra l'API WebView per gli annunci

Le API Web View per gli annunci rendono disponibili gli indicatori delle app per i tag in 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 e la versione dell'app, consentono di attivare i report e scegliere come target l'inventario del browser in-app casi d'uso altrimenti disponibili solo per il traffico delle app.

Come funziona

La comunicazione con l'SDK Google Mobile Ads avviene solo in risposta a eventi annuncio attivati da uno dei seguenti elementi:

L'SDK aggiunge gestori dei messaggi all'elemento WebView registrato per ascoltare questi eventi relativi agli annunci. Per comprendere meglio come funziona, visualizza il codice sorgente della pagina di test.

Prerequisiti

  • Versione dell'SDK Google Mobile Ads 20.6.0 o successiva.
  • 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 vista web

Chiama registerWebView() sul thread principale per stabilire una connessione con i gestori JavaScript nel codice AdSense o nel Tag publisher di Google all'interno di ogni WebView istanza. Questa operazione deve essere eseguita il prima possibile, ad esempio nel metodo onCreate() del tuo MainActivity.

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);
  }
}

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)

    // Enable third-party cookies.
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
    // Enable JavaScript in the WebView.
    webView.settings.javaScriptEnabled = true
    // Enable DOM storage in the WebView.
    webView.settings.domStorageEnabled = true
    // Enable videos to play automatically.
    webView.settings.mediaPlaybackRequiresUserGesture = 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://webview-api-for-ads-test.glitch.me#api-for-ads-tests

L'URL di test mostra barre di stato verdi per un'integrazione riuscita se si applicano le seguenti condizioni:

  • WebView collegato all'SDK Google Mobile Ads

Passaggi successivi

  • Raccogli il consenso in WebView. Le API Web View for Ads non propagano il consenso raccolto nel contesto dell'app mobile utilizzando i framework di conformità della versione 2.0 del TCF di IAB o IAB CCPA ai tag delle viste web. Se vuoi implementare un singolo flusso di consenso in qualità di proprietario sia delWebView sia dei contenuti web corrispondenti che vengono monetizzati, collabora con la tua piattaforma di gestione del consenso per raccogliere il consenso nel WebView contesto.