Configurer WebView

Sélectionnez une plate-forme : Android iOS Android (ancienne version)

Si votre application utilise WebView pour afficher du contenu Web, nous vous recommandons de la configurer de manière à monétiser ce contenu de manière optimale avec des annonces.

Ce guide vous explique comment fournir des informations sur la configuration d'un objet WebView.

Activer les cookies tiers

Pour améliorer l'expérience publicitaire de vos utilisateurs et respecter les Règles relatives aux cookies de Chrome, activez les cookies tiers sur votre instance WebView.

Java

CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);

Kotlin

CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)

Paramètres Web

Les paramètres WebView par défaut ne sont pas optimisés pour les annonces. Utilisez les API WebSettings pour configurer votre WebView pour :

  • JavaScript
  • Accès au stockage local
  • Lecture automatique des vidéos

Java

import android.webkit.CookieManager;
import android.webkit.WebView;

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

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView

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

Charger le contenu de la vue Web

Les cookies et les URL de page sont importants pour la monétisation des vues Web et ne fonctionnent comme prévu que lorsque loadUrl() est utilisé avec une URL basée sur le réseau. Pour optimiser les performances de WebView, chargez le contenu Web directement à partir d'URL réseau. Évitez d'utiliser WebViewAssetLoader, de charger des éléments depuis l'appareil ou de générer du contenu Web de manière dynamique.

Java

import android.webkit.CookieManager;
import android.webkit.WebView;

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

    // Load the URL for optimized web view performance.
    webView.loadUrl("https://google.github.io/webview-ads/test/");
  }
}

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView

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

    // Load the URL for optimized web view performance.
    webView.loadUrl("https://google.github.io/webview-ads/test/")
  }
}

Tester la vue Web

Lors du développement de l'application, nous vous recommandons de charger cette URL de test :

https://google.github.io/webview-ads/test/

pour vérifier que ces paramètres ont l'effet souhaité sur les annonces. L'URL de test répond aux critères de réussite d'une intégration complète si les conditions suivantes sont remplies :

Paramètres de la vue Web

  • Fonctionnement des cookies tiers
  • Fonctionnement des cookies propriétaires
  • JavaScript activé
  • Stockage DOM activé

Annonce vidéo

  • L'annonce vidéo est lue de manière intégrée et ne s'ouvre pas dans le lecteur intégré en plein écran.
  • L'annonce vidéo est lue automatiquement sans que l'utilisateur ait à cliquer sur le bouton de lecture.
  • L'annonce vidéo peut être lue à nouveau

Une fois les tests terminés, remplacez l'URL de test par l'URL que la vue Web doit charger.