Configurer WebView

Si votre Android application utiliseWebView pour afficher du contenu Web, nous vous recommandons de le 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 objetWebView .

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

Default WebView settings are not optimized for ads. Use the WebSettings APIs to configure your WebView for:

  • JavaScript
  • Access to local storage
  • Automatic video play

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 les performances de l'affichage Web. Ils ne fonctionnent que comme prévu lorsque loadUrl() est utilisé avec une URL basée sur le réseau. Pour optimiser WebView les performances,chargez le contenu Web directement à partir d'URL basées sur le 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://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 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 l'affichage Web

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

Annonce vidéo

  • L'annonce vidéo est lue directement et ne s'ouvre pas en plein écran.
  • L'annonce vidéo est lue automatiquement sans que l'utilisateur clique sur le bouton de lecture.
  • L'annonce vidéo peut être rejouée

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