Configurer WebView

Si votre Android application utilise WebView pour afficher du contenu Web, est recommandé de le configurer de sorte que le contenu puisse être monétisé de façon optimale à l'aide d'annonces.

Ce guide vous explique comment fournir des informations sur la façon de configurer un WebView .

Activer les cookies tiers

Pour améliorer l'expérience publicitaire des utilisateurs et être cohérente avec règles relatives aux cookies, activez les cookies tiers des cookies 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 le WebSettings API permettant de configurer votre WebView pour les ressources suivantes:

  • JavaScript
  • Accès au stockage local
  • Lecture automatique de la vidéo

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 des pages sont importants pour la monétisation des vues Web et ne fonctionnent comme prévu lorsque loadUrl() est utilisé avec un l'URL basée sur le réseau. Pour des performances WebView optimisées, charger du contenu Web directement à partir d'URL basées sur le réseau. Évitez d'utiliser WebViewAssetLoader, chargement... de l'appareil, ni 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://webview-api-for-ads-test.glitch.me");
  }
}

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://webview-api-for-ads-test.glitch.me")
  }
}

Tester la vue Web

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

https://webview-api-for-ads-test.glitch.me#webview-settings-tests

pour vérifier que ces paramètres ont bien l'effet escompté sur les annonces. L'URL de test comporte critères de réussite d'une intégration complète dans les cas suivants:

Paramètres de la vue Web

  • Les cookies tiers fonctionnent
  • Les cookies propriétaires fonctionnent
  • JavaScript activé
  • Stockage DOM activé

Annonce vidéo

  • L'annonce vidéo est diffusée de façon intégrée et ne s'ouvre pas en plein écran. joueur
  • L'annonce vidéo est lue automatiquement sans cliquer sur le bouton de lecture.
  • L'annonce vidéo peut être lue de nouveau.

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