Intégrer l'API WebView pour les annonces

Les API WebView pour les annonces mettent les signaux d'application à la disposition des balises dans votre WebView. Cela permet d'améliorer la monétisation pour les éditeurs qui ont fourni le contenu et de protéger les annonceurs contre le spam. Ces signaux d'application, tels que l'ID et la version de l'application, permettent d'activer les cas d'utilisation Rapports et Cibler l'inventaire d'un navigateur intégré à une application, qui ne sont normalement disponibles que pour le trafic d'application.

Fonctionnement

La communication avec le SDK Google Mobile Ads (bêta) n'a lieu qu'en réponse à des événements publicitaires déclenchés par l'un des éléments suivants :

Le SDK ajoute des gestionnaires de messages à l'WebView enregistré pour écouter ces événements d'annonce. Pour mieux comprendre comment cela fonctionne, consultez le code source de la page de test.

Prérequis

Transmettre l'ID application au SDK

Si vous disposez déjà d'un ID d'application Ad Manager, initialisez le SDK Google Mobile Ads (bêta) avec votre ID d'application existant.

Si vous n'avez pas d'ID d'application Ad Manager, transmettez InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID comme ID d'application lorsque vous initialisez le SDK Google Mobile Ads (bêta).

Kotlin

MobileAds.initialize(
    this@MainActivity,
    // Use this application ID to initialize the Google Mobile Ads SDK (beta) if
    // you don't have an Ad Manager application ID.
    InitializationConfig.Builder(InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID)
        .build(),
  ) {
    // Adapter initialization complete.
  }

Java

MobileAds.initialize(
    this,
    // Use this application ID to initialize the Google Mobile Ads SDK (beta) if
    // you don't have an Ad Manager application ID.
    new InitializationConfig.Builder(InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID)
        .build(),
        initializationStatus -> {
          // Adapter initialization is complete.
          });

Enregistrer la vue Web

Appelez registerWebView() sur le thread principal pour établir une connexion avec les gestionnaires JavaScript dans le code AdSense ou la Google Publisher Tag dans chaque instance WebView. Vous devez le faire dès que possible, par exemple dans la méthode onCreate() de votre MainActivity.

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.libraries.ads.mobile.sdk.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.libraries.ads.mobile.sdk.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);
  }
}

Tester votre intégration

Avant d'utiliser votre propre URL, nous vous recommandons de charger l'URL suivante pour tester l'intégration :

https://google.github.io/webview-ads/test/#api-for-ads-tests

L'URL de test affiche des barres d'état vertes pour une intégration réussie si les conditions suivantes sont remplies :

  • WebView connecté au SDK Google Mobile Ads (bêta)

Étapes suivantes

  • Obtenez le consentement dans WebView. Les API WebView pour les annonces ne propagent pas le consentement recueilli dans le contexte de l'application mobile à l'aide des frameworks de conformité IAB TCF v2.0 ou IAB CCPA aux balises de vos WebViews. Si vous souhaitez implémenter un flux de consentement unique en tant que propriétaire de l'WebView et du contenu Web correspondant monétisé, collaborez avec votre plate-forme de gestion du consentement pour recueillir le consentement dans le contexte de l'WebView.