Menyiapkan WebView

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

Panduan ini menunjukkan cara memberikan informasi tentang cara mengonfigurasi WebView .

Mengaktifkan cookie pihak ketiga

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

Java

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

Kotlin

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

Setelan web

Setelan WebView default tidak dioptimalkan untuk iklan. Gunakan WebSettings API untuk mengonfigurasi WebView Anda untuk resource berikut:

  • JavaScript
  • Akses ke penyimpanan lokal
  • Pemutaran video otomatis

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 penting untuk monetisasi tampilan web dan hanya berfungsi seperti yang diharapkan jika loadUrl() digunakan dengan URL berbasis jaringan. Untuk performa WebView yang dioptimalkan, memuat isi web langsung dari URL berbasis jaringan. Hindari penggunaan WebViewAssetLoader, memuat 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 Anda memuat URL pengujian ini:

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

untuk memverifikasi bahwa setelan ini memiliki pengaruh yang diinginkan terhadap iklan. URL pengujian memiliki kriteria keberhasilan untuk integrasi lengkap jika memenuhi kriteria berikut:

Setelan tampilan web

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

Iklan video

  • Iklan video diputar secara inline dan tidak terbuka dalam layar penuh bawaan pemain
  • Iklan video akan diputar secara otomatis tanpa mengklik tombol putar
  • Iklan video dapat diputar ulang

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