Configurer WebView

Sélectionnez une plate-forme : Android (bêta) Dernière sélection Android iOS

Si votre application utilise WebView pour afficher du contenu Web, il est recommandé de la configurer de sorte 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 le règlement de Chrome sur les cookies, 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 WebView par défaut ne sont pas optimisés pour les annonces. Utilisez les WebSettings API pour configurer votre WebView pour les éléments suivants :

  • 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. Ils ne fonctionnent comme prévu que lorsque loadUrl() est utilisé avec une URL basée sur le réseau. Pour optimiser les performances WebView, chargez le contenu Web directement à partir d'URL basées sur le réseau. Évitez d'utiliser WebViewAssetLoader, de charger des assets à 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 comporte 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

  • Les cookies tiers fonctionnent.
  • Les cookies propriétaires fonctionnent.
  • JavaScript est activé.
  • Le stockage DOM est 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 vous ayez à cliquer sur le bouton de lecture.
  • L'annonce vidéo peut être relue.

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