Menyiapkan WebView

Jika aplikasi Android Anda menggunakan WebView untuk menampilkan konten web, sebaiknya konfigurasikan konten tersebut agar konten dapat dimonetisasi secara optimal dengan iklan.

Panduan ini menunjukkan cara memberikan informasi tentang cara mengonfigurasi objek WebView .

Aktifkan cookie pihak ketiga

Untuk meningkatkan pengalaman iklan pengguna dan konsisten dengan kebijakan cookie Chrome, aktifkan cookie pihak ketiga pada instance WebView Anda.

Java

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

Kotlin

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

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

Memuat konten tampilan web

Cookie dan URL halaman sangat penting untuk performa tampilan web dan hanya berfungsi seperti yang diharapkan saat loadUrl() digunakan dengan URL berbasis jaringan. Untuk performa WebView yang dioptimalkan, muat konten web langsung dari URL berbasis jaringan. Hindari penggunaan WebViewAssetLoader, memuat aset dari perangkat, atau membuat konten web secara dinamis.

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

Menguji tampilan web

Selama pengembangan aplikasi, sebaiknya muat URL pengujian ini:

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

untuk memverifikasi bahwa setelan ini memiliki efek yang dimaksudkan pada iklan. URL pengujian memiliki kriteria keberhasilan untuk integrasi lengkap jika hal berikut diamati:

Setelan tampilan web

  • Cookie pihak ketiga berfungsi
  • Cookie pihak pertama berfungsi
  • JavaScript diaktifkan
  • Penyimpanan DOM diaktifkan

Iklan video

  • Iklan video diputar inline dan tidak terbuka di pemutar bawaan layar penuh
  • Iklan video diputar secara otomatis tanpa mengklik tombol putar
  • Iklan video dapat diputar ulang

Setelah pengujian selesai, ganti URL pengujian dengan URL yang ingin dimuat oleh tampilan web.