Configurer WebView

Si votre application utilise WebView pour afficher du contenu Web, nous vous recommandons de le configurer de manière à ce que le contenu puisse être monétisé 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 la politique relative aux cookies de Chrome, activez les cookies tiers dans votre instance WebView.

Java

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

Kotlin

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

Paramètres Web

Les paramètres par défaut de WebView 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 pages sont importants pour la monétisation des vues Web. Ils ne fonctionnent comme prévu que lorsque loadUrl() est utilisé avec une URL basée sur le réseau. Pour des performances WebView optimisées, chargez le contenu Web directement à partir d'URL réseau. Évitez d'utiliser WebViewAssetLoader, de charger des éléments à partir de 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 escompté sur les annonces. L'URL de test présente des critères de réussite pour une intégration complète si les éléments suivants sont observés :

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 plein écran intégré.
  • L'annonce vidéo est lue automatiquement sans que l'utilisateur ait à cliquer sur le bouton de lecture.
  • L'annonce vidéo est relançable

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